Loading arch/arm/mach-msm/bbif-fsm9900.c +24 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ #include <linux/of.h> #include <linux/of_device.h> #include <linux/regulator/consumer.h> #include <linux/clk.h> #include <linux/fsm_rfic.h> Loading Loading @@ -281,6 +282,29 @@ static long bbif_ioctl(struct file *file, } break; case BBIF_IOCTL_SET_ADC_CLK: { unsigned int rate; if (copy_from_user(&rate, argp, sizeof(unsigned int))) { pr_err("%s: Invalid rate %d\n", __func__, rate); return -EFAULT; } switch (rate) { case 1: mpll10_326_clk_init(); break; case 2: mpll10_345_clk_init(); break; default: pr_err("%s: Unknown ADC RATE\n", __func__); break; } } break; default: pr_err("%s: Invalid IOCTL\n", __func__); return -EINVAL; Loading include/linux/fsm_rfic.h +5 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ void fsm9900_gluon_init(void); void fsm9900_rfic_init(void); void fsm9900_mtr_init(void); void mpll10_326_clk_init(void); void mpll10_345_clk_init(void); /* * Device interface Loading Loading @@ -149,6 +151,9 @@ struct rfic_wfm_param { #define BBIF_IOCTL_SET_ADC_BW \ _IOC(_IOC_WRITE, RFIC_IOCTL_MAGIC, 0x43, \ sizeof(struct bbif_bw_param *)) #define BBIF_IOCTL_SET_ADC_CLK \ _IOC(_IOC_WRITE, RFIC_IOCTL_MAGIC, 0x44, \ sizeof(unsigned int *)) #define RFIC_IOCTL_SET_LDO \ _IOC(_IOC_WRITE, RFIC_IOCTL_MAGIC, 0x50, \ sizeof(unsigned int *)) Loading Loading
arch/arm/mach-msm/bbif-fsm9900.c +24 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ #include <linux/of.h> #include <linux/of_device.h> #include <linux/regulator/consumer.h> #include <linux/clk.h> #include <linux/fsm_rfic.h> Loading Loading @@ -281,6 +282,29 @@ static long bbif_ioctl(struct file *file, } break; case BBIF_IOCTL_SET_ADC_CLK: { unsigned int rate; if (copy_from_user(&rate, argp, sizeof(unsigned int))) { pr_err("%s: Invalid rate %d\n", __func__, rate); return -EFAULT; } switch (rate) { case 1: mpll10_326_clk_init(); break; case 2: mpll10_345_clk_init(); break; default: pr_err("%s: Unknown ADC RATE\n", __func__); break; } } break; default: pr_err("%s: Invalid IOCTL\n", __func__); return -EINVAL; Loading
include/linux/fsm_rfic.h +5 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ void fsm9900_gluon_init(void); void fsm9900_rfic_init(void); void fsm9900_mtr_init(void); void mpll10_326_clk_init(void); void mpll10_345_clk_init(void); /* * Device interface Loading Loading @@ -149,6 +151,9 @@ struct rfic_wfm_param { #define BBIF_IOCTL_SET_ADC_BW \ _IOC(_IOC_WRITE, RFIC_IOCTL_MAGIC, 0x43, \ sizeof(struct bbif_bw_param *)) #define BBIF_IOCTL_SET_ADC_CLK \ _IOC(_IOC_WRITE, RFIC_IOCTL_MAGIC, 0x44, \ sizeof(unsigned int *)) #define RFIC_IOCTL_SET_LDO \ _IOC(_IOC_WRITE, RFIC_IOCTL_MAGIC, 0x50, \ sizeof(unsigned int *)) Loading