本文整理汇总了C++中clk_en函数的典型用法代码示例。如果您正苦于以下问题:C++ clk_en函数的具体用法?C++ clk_en怎么用?C++ clk_en使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了clk_en函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: msm_hsl_loopback_enable_set
static int msm_hsl_loopback_enable_set(void *data, u64 val)
{
struct msm_hsl_port *msm_hsl_port = data;
struct uart_port *port = &(msm_hsl_port->uart);
unsigned int vid;
unsigned long flags;
int ret = 0;
ret = clk_set_rate(msm_hsl_port->clk, 7372800);
if (!ret)
clk_en(port, 1);
else {
E("%s(): Error: Setting the clock rate\n", __func__);
return -EINVAL;
}
vid = msm_hsl_port->ver_id;
if (val) {
spin_lock_irqsave(&port->lock, flags);
ret = msm_hsl_read(port, regmap[vid][UARTDM_MR2]);
ret |= UARTDM_MR2_LOOP_MODE_BMSK;
msm_hsl_write(port, ret, regmap[vid][UARTDM_MR2]);
spin_unlock_irqrestore(&port->lock, flags);
E("%s(): irda loopback enabled for line(%d)\n", __func__, port->line);
} else {
spin_lock_irqsave(&port->lock, flags);
ret = msm_hsl_read(port, regmap[vid][UARTDM_MR2]);
ret &= ~UARTDM_MR2_LOOP_MODE_BMSK;
msm_hsl_write(port, ret, regmap[vid][UARTDM_MR2]);
spin_unlock_irqrestore(&port->lock, flags);
}
clk_en(port, 0);
return 0;
}
开发者ID:happyhere,项目名称:802Xtreem,代码行数:35,代码来源:msm_serial_hs_irda_lite.c
示例2: msm_hsl_power_irda
static void msm_hsl_power_irda(struct uart_port *port, unsigned int state,
unsigned int oldstate)
{
int ret;
struct msm_hsl_port *msm_hsl_port = UART_TO_MSM(port);
D("%s (): ir, state %d\n", __func__, state);
switch (state) {
case 0:
irda_enable_flg = 1;
enable_irda(3);
ret = clk_set_rate(msm_hsl_port->clk, 7372800);
if (ret)
E("%s(): Error setting UART clock rate\n",
__func__);
clk_en(port, 1);
break;
case 3:
irda_enable_flg = 0;
enable_irda(0);
clk_en(port, 0);
break;
default:
E("%s(): msm_serial_hsl: Unknown PM state %d\n",
__func__, state);
}
}
开发者ID:happyhere,项目名称:802Xtreem,代码行数:26,代码来源:msm_serial_hs_irda_lite.c
示例3: msm_hsl_deinit_clock
static void msm_hsl_deinit_clock(struct uart_port *port)
{
#ifdef CONFIG_SERIAL_MSM_CLOCK_CONTROL
struct msm_hsl_port *msm_hsl_port = UART_TO_MSM(port);
if (msm_hsl_port->clk_state != MSM_HSL_CLK_OFF)
clk_en(port, 0);
msm_hsl_port->clk_state = MSM_HSL_CLK_PORT_OFF;
#else
clk_en(port, 0);
#endif
}
开发者ID:victor2002,项目名称:a770k_kernel,代码行数:12,代码来源:msm_serial_hs_lite.c
示例4: enable_irda
void enable_irda(int irda_en)
{
struct msm_hsl_port *msm_irda_port = htc_irda_port;
struct uart_port *port = &(msm_irda_port->uart);
unsigned long flags;
int ret = 0;
D("%s(): irda msm_irda_port->, irda_en %d\n",
__func__, irda_en);
ret = clk_set_rate(msm_irda_port->clk, 7372800);
if (!ret) {
clk_en(port, 1);
D("%s(): irda+ Clock enabled for line(%d)\n", __func__, port->line);
} else {
E("%s():irda Error: Setting the clock rate\n", __func__);
return;
}
if (irda_en) {
D("%s(): irda+ turn on IRDA\n", __func__);
spin_lock_irqsave(&port->lock, flags);
ret = 1;
ret |= (int)irda_en;
msm_hsl_write(port, ret, UARTDM_IRDA_ADDR);
spin_unlock_irqrestore(&port->lock, flags);
if (msm_irda_port->irda_enable)
msm_irda_port->irda_enable(1);
else
E("no irda enable callback function");
} else {
D("%s(): irda+ turn off IRDA \n", __func__);
#if 0
spin_lock_irqsave(&port->lock, flags);
ret = 0;
msm_hsl_write(port, ret, UARTDM_IRDA_ADDR);
spin_unlock_irqrestore(&port->lock, flags);
#endif
if (msm_irda_port->irda_enable)
msm_irda_port->irda_enable(0);
else
E("no irda enable callback function");
}
clk_en(port, 0);
D("%s(): irda+ Clock enabled for line(%d)\n", __func__, port->line);
}
开发者ID:happyhere,项目名称:802Xtreem,代码行数:48,代码来源:msm_serial_hs_irda_lite.c
示例5: msm_hsl_power
static void msm_hsl_power(struct uart_port *port, unsigned int state,
unsigned int oldstate)
{
#ifndef CONFIG_SERIAL_MSM_HSL_CLOCK_CONTROL
switch (state) {
case 0:
clk_en(port, 1);
break;
case 3:
clk_en(port, 0);
break;
default:
printk(KERN_ERR "msm_serial_hsl: Unknown PM state %d\n", state);
}
#endif
}
开发者ID:victor2002,项目名称:a770k_kernel,代码行数:16,代码来源:msm_serial_hs_lite.c
示例6: msm_hsl_init_clock
static void msm_hsl_init_clock(struct uart_port *port)
{
clk_en(port, 1);
#ifdef CONFIG_SERIAL_MSM_CLOCK_CONTROL
msm_hsl_port->clk_state = MSM_HSL_CLK_ON;
#endif
}
开发者ID:victor2002,项目名称:a770k_kernel,代码行数:8,代码来源:msm_serial_hs_lite.c
示例7: msm_hsl_start_tx
static void msm_hsl_start_tx(struct uart_port *port)
{
struct msm_hsl_port *msm_hsl_port = UART_TO_MSM(port);
struct circ_buf *xmit = &port->state->xmit;
if(b_terminal_onoff == 0 && console_uart_port && (port == console_uart_port)){
uart_circ_clear(xmit);
return;
}
clk_en(port, 1);
msm_hsl_port->imr |= UARTDM_ISR_TXLEV_BMSK;
msm_hsl_write(port, msm_hsl_port->imr, UARTDM_IMR_ADDR);
clk_en(port, 0);
}
开发者ID:victor2002,项目名称:a770k_kernel,代码行数:17,代码来源:msm_serial_hs_lite.c
示例8: msm_hsl_shutdown
static void msm_hsl_shutdown(struct uart_port *port)
{
struct msm_hsl_port *msm_hsl_port = UART_TO_MSM(port);
clk_en(port, 1);
msm_hsl_port->imr = 0;
msm_hsl_write(port, 0, UARTDM_IMR_ADDR); /* disable interrupts */
clk_en(port, 0);
free_irq(port->irq, port);
#ifndef CONFIG_PM_RUNTIME
msm_hsl_deinit_clock(port);
#endif
pm_runtime_put_sync(port->dev);
}
开发者ID:victor2002,项目名称:a770k_kernel,代码行数:18,代码来源:msm_serial_hs_lite.c
示例9: enable_cir_store
static ssize_t enable_cir_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{
struct msm_hsl_port *msm_cir_port = htc_cir_port;
struct uart_port *port = &(msm_cir_port->uart);
unsigned long flags;
int cir_en, ret = 0;
sscanf(buf, "%d", &cir_en);
if (cir_en != 1 && cir_en != 3 && cir_en != 0)
D("%s: parameter invalid. cir_en = %d", __func__, cir_en);
D("%s: (cir_enable_flg, cir_en) = (%d, %d)\n",
__func__, cir_enable_flg, cir_en);
ret = clk_set_rate(msm_cir_port->clk, 7372800);
if (!ret) {
clk_en(port, 1);
D("%s(): irda Clock enabled for line(%d)\n", __func__, port->line);
} else {
D("%s(): Error: Setting the clock rate\n", __func__);
return -EINVAL;
}
if (cir_en > 1) {
D("%s(): Set IRDA mode\n", __func__);
spin_lock_irqsave(&port->lock, flags);
ret = 1;
ret |= (int)cir_en;
msm_hsl_write(port, ret, UARTDM_IRDA_ADDR);
spin_unlock_irqrestore(&port->lock, flags);
cir_enable_flg = PATH_IRDA;
if (msm_cir_port->cir_set_path)
msm_cir_port->cir_set_path(PATH_IRDA);
}
clk_en(port, 0);
return count;
}
开发者ID:talnoah,项目名称:m7-gpe,代码行数:41,代码来源:msm_serial_hs_cir_lite.c
示例10: msm_hsl_power_cir
static void msm_hsl_power_cir(struct uart_port *port, unsigned int state,
unsigned int oldstate)
{
int ret;
struct msm_hsl_port *msm_hsl_port = UART_TO_MSM(port);
unsigned long flags;
D("%s (): ir, state %d\n", __func__, state);
switch (state) {
case 0:
ret = clk_set_rate(msm_hsl_port->clk, 7372800);
if (ret)
E("%s(): Error setting UART clock rate\n",
__func__);
clk_en(port, 1);
break;
case 3:
if (cir_enable_flg != PATH_CIR) {
D("%s path is not CIR. flg = %d\n",
__func__, cir_enable_flg);
D("%s(): Clear IRDA mode \n", __func__);
spin_lock_irqsave(&port->lock, flags);
ret = 0;
msm_hsl_write(port, ret, UARTDM_IRDA_ADDR);
spin_unlock_irqrestore(&port->lock, flags);
cir_enable_flg = PATH_CIR;
if (msm_hsl_port->cir_set_path)
msm_hsl_port->cir_set_path(PATH_CIR);
}
clk_en(port, 0);
break;
default:
E("%s(): msm_serial_hsl: Unknown PM state %d\n",
__func__, state);
}
}
开发者ID:talnoah,项目名称:m7-gpe,代码行数:37,代码来源:msm_serial_hs_cir_lite.c
注:本文中的clk_en函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论