From 79cf64df799576ca4913f3d911ef61bbbcad93a9 Mon Sep 17 00:00:00 2001 From: Pablo Ceballos Date: Thu, 22 Mar 2012 14:59:56 -0700 Subject: media: video: ov2710: add sensor group hold Implements a group hold so that the gain, frame length, and coarse time can all be written in one ioctl call Also fixes AEC manual control register value Also implements bulk i2c send in the same way as ov5650 Bug 953910 Change-Id: Iaa2e8ac6c0156564920696afaa099321db6314f6 Signed-off-by: Pablo Ceballos Reviewed-on: http://git-master/r/94380 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Frank Chen Reviewed-by: Patrick Shehane Reviewed-by: Dan Willemsen --- include/media/ov2710.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'include') diff --git a/include/media/ov2710.h b/include/media/ov2710.h index e3d43056d700..aeeaea8849e0 100644 --- a/include/media/ov2710.h +++ b/include/media/ov2710.h @@ -27,6 +27,7 @@ #define OV2710_IOCTL_SET_COARSE_TIME _IOW('o', 3, __u32) #define OV2710_IOCTL_SET_GAIN _IOW('o', 4, __u16) #define OV2710_IOCTL_GET_STATUS _IOR('o', 5, __u8) +#define OV2710_IOCTL_SET_GROUP_HOLD _IOW('o', 6, struct ov2710_ae) struct ov2710_mode { int xres; @@ -35,6 +36,16 @@ struct ov2710_mode { __u32 coarse_time; __u16 gain; }; + +struct ov2710_ae { + __u32 frame_length; + __u8 frame_length_enable; + __u32 coarse_time; + __u8 coarse_time_enable; + __s32 gain; + __u8 gain_enable; +}; + #ifdef __KERNEL__ struct ov2710_platform_data { int (*power_on)(void); -- cgit v1.2.3 From 7627890c0280973b5e31db7c09499562d74d13b0 Mon Sep 17 00:00:00 2001 From: Alex Frid Date: Fri, 11 May 2012 23:39:24 -0700 Subject: PM QoS: Set minimum online cpus default to zero Change default PM QoS request value for minimum online cpus parameter from 1 to 0. This is consistent with all other PM_QOS_MAX type parameters, and allow to differentiate request for 1 CPU and "no request". Change-Id: I548449d0b7a443b77f7f065e1e1f10dffc5587ed Signed-off-by: Alex Frid Reviewed-on: http://git-master/r/102119 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Donghan Ryu Reviewed-by: Satya Popuri Reviewed-by: Diwakar Tundlam GVS: Gerrit_Virtual_Submit Reviewed-by: Yu-Huan Hsu --- include/linux/pm_qos_params.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/linux/pm_qos_params.h b/include/linux/pm_qos_params.h index 5a536cbb25b8..be63f01630a3 100644 --- a/include/linux/pm_qos_params.h +++ b/include/linux/pm_qos_params.h @@ -28,7 +28,7 @@ enum { #define PM_QOS_CPU_DMA_LAT_DEFAULT_VALUE (2000 * USEC_PER_SEC) #define PM_QOS_NETWORK_LAT_DEFAULT_VALUE (2000 * USEC_PER_SEC) #define PM_QOS_NETWORK_THROUGHPUT_DEFAULT_VALUE 0 -#define PM_QOS_MIN_ONLINE_CPUS_DEFAULT_VALUE 1 +#define PM_QOS_MIN_ONLINE_CPUS_DEFAULT_VALUE 0 #define PM_QOS_MAX_ONLINE_CPUS_DEFAULT_VALUE LONG_MAX #define PM_QOS_CPU_FREQ_MIN_DEFAULT_VALUE 0 #define PM_QOS_CPU_FREQ_MAX_DEFAULT_VALUE LONG_MAX -- cgit v1.2.3 From 31884ed13df71599102f8fff9fab30a89e07dd9f Mon Sep 17 00:00:00 2001 From: Tom Cherry Date: Mon, 21 May 2012 18:38:13 -0700 Subject: rtc: tps80031: add msecure support Bug 986402 Change-Id: Id12540e31f8d7d9a04d764ed012310a685eafb8d Signed-off-by: Tom Cherry Reviewed-on: http://git-master/r/104269 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Laxman Dewangan --- include/linux/mfd/tps80031.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/linux/mfd/tps80031.h b/include/linux/mfd/tps80031.h index 9623a873d311..b3b9480ce596 100644 --- a/include/linux/mfd/tps80031.h +++ b/include/linux/mfd/tps80031.h @@ -165,6 +165,7 @@ struct tps80031_subdev_info { struct tps80031_rtc_platform_data { int irq; struct rtc_time time; + int msecure_gpio; }; struct tps80031_clk32k_init_data { -- cgit v1.2.3 From 63849556b9d43291c7156524333613c69c09d654 Mon Sep 17 00:00:00 2001 From: Laxman Dewangan Date: Wed, 4 Apr 2012 12:44:00 +0530 Subject: regulator: Add support for RICOH PMIC RC5T583 regulator The RC5T583 PMIC from RICOH consists of 4 DCDC and 10 LDOs. This driver supports the control of different regulator output through regulator interface. This driver depends on MFD driver of RC5T583 and uses mfd rc5t583 apis to communicate to device for accessing different device's registers. Signed-off-by: Laxman Dewangan Signed-off-by: Mark Brown (Cherry-picked from mainline commit 6ffc3270210efa2bea526953a142ffc908f5bd86) Change-Id: If6bcc9c987fc97ff6f0c61e53de715cd84d0151b Signed-off-by: Laxman Dewangan Reviewed-on: http://git-master/r/105877 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Bitan Biswas --- include/linux/mfd/rc5t583.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'include') diff --git a/include/linux/mfd/rc5t583.h b/include/linux/mfd/rc5t583.h index a2c61609d21d..b2c1f442d4ef 100644 --- a/include/linux/mfd/rc5t583.h +++ b/include/linux/mfd/rc5t583.h @@ -249,6 +249,26 @@ enum { RC5T583_EXT_PWRREQ2_CONTROL = 0x2, }; +enum { + RC5T583_REGULATOR_DC0, + RC5T583_REGULATOR_DC1, + RC5T583_REGULATOR_DC2, + RC5T583_REGULATOR_DC3, + RC5T583_REGULATOR_LDO0, + RC5T583_REGULATOR_LDO1, + RC5T583_REGULATOR_LDO2, + RC5T583_REGULATOR_LDO3, + RC5T583_REGULATOR_LDO4, + RC5T583_REGULATOR_LDO5, + RC5T583_REGULATOR_LDO6, + RC5T583_REGULATOR_LDO7, + RC5T583_REGULATOR_LDO8, + RC5T583_REGULATOR_LDO9, + + /* Should be last entry */ + RC5T583_REGULATOR_MAX, +}; + struct rc5t583 { struct device *dev; struct regmap *regmap; @@ -272,11 +292,20 @@ struct rc5t583 { * The board specific data is provided through this structure. * @irq_base: Irq base number on which this device registers their interrupts. * @enable_shutdown: Enable shutdown through the input pin "shutdown". + * @regulator_deepsleep_slot: The slot number on which device goes to sleep + * in device sleep mode. + * @regulator_ext_pwr_control: External power request regulator control. The + * regulator output enable/disable is controlled by the external + * power request input state. + * @reg_init_data: Regulator init data. */ struct rc5t583_platform_data { int irq_base; bool enable_shutdown; + int regulator_deepsleep_slot[RC5T583_REGULATOR_MAX]; + unsigned long regulator_ext_pwr_control[RC5T583_REGULATOR_MAX]; + struct regulator_init_data *reg_init_data[RC5T583_REGULATOR_MAX]; }; int rc5t583_write(struct device *dev, u8 reg, uint8_t val); -- cgit v1.2.3 From a086ad2223ef653b2f4e0c223e87bb701d969584 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker Date: Mon, 16 Apr 2012 21:24:32 +0200 Subject: mfd: Fix modular builds of rc5t583 regulator support The combination of commit 1b1247dd75aa5cf5fae54a3bec7280046e9c7957 "mfd: Add support for RICOH PMIC RC5T583" and commit 6ffc3270210efa2bea526953a142ffc908f5bd86 "regulator: Add support for RICOH PMIC RC5T583 regulator" are causing the i386 allmodconfig builds to fail with this: ERROR: "rc5t583_update" [drivers/regulator/rc5t583-regulator.ko] undefined! ERROR: "rc5t583_set_bits" [drivers/regulator/rc5t583-regulator.ko] undefined! ERROR: "rc5t583_clear_bits" [drivers/regulator/rc5t583-regulator.ko] undefined! ERROR: "rc5t583_read" [drivers/regulator/rc5t583-regulator.ko] undefined! and this: ERROR: "rc5t583_ext_power_req_config" [drivers/regulator/rc5t583-regulator.ko] undefined! For the 1st four, make the simple ops static inline, instead of polluting the namespace with trivial exports. For the last one, add an EXPORT_SYMBOL. Signed-off-by: Paul Gortmaker Signed-off-by: Samuel Ortiz (cherry picked from commit 82ea267f7dc853a5e6a724916a70a10656efdfc2) Change-Id: I7f03cc5c0005883eb8355170cdc7996a9c392091 Signed-off-by: Laxman Dewangan Reviewed-on: http://git-master/r/105878 GVS: Gerrit_Virtual_Submit Reviewed-by: Bitan Biswas --- include/linux/mfd/rc5t583.h | 47 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 8 deletions(-) (limited to 'include') diff --git a/include/linux/mfd/rc5t583.h b/include/linux/mfd/rc5t583.h index b2c1f442d4ef..c42fe92a727d 100644 --- a/include/linux/mfd/rc5t583.h +++ b/include/linux/mfd/rc5t583.h @@ -26,6 +26,7 @@ #include #include +#include #define RC5T583_MAX_REGS 0xF8 @@ -308,14 +309,44 @@ struct rc5t583_platform_data { struct regulator_init_data *reg_init_data[RC5T583_REGULATOR_MAX]; }; -int rc5t583_write(struct device *dev, u8 reg, uint8_t val); -int rc5t583_read(struct device *dev, uint8_t reg, uint8_t *val); -int rc5t583_set_bits(struct device *dev, unsigned int reg, - unsigned int bit_mask); -int rc5t583_clear_bits(struct device *dev, unsigned int reg, - unsigned int bit_mask); -int rc5t583_update(struct device *dev, unsigned int reg, - unsigned int val, unsigned int mask); +static inline int rc5t583_write(struct device *dev, uint8_t reg, uint8_t val) +{ + struct rc5t583 *rc5t583 = dev_get_drvdata(dev); + return regmap_write(rc5t583->regmap, reg, val); +} + +static inline int rc5t583_read(struct device *dev, uint8_t reg, uint8_t *val) +{ + struct rc5t583 *rc5t583 = dev_get_drvdata(dev); + unsigned int ival; + int ret; + ret = regmap_read(rc5t583->regmap, reg, &ival); + if (!ret) + *val = (uint8_t)ival; + return ret; +} + +static inline int rc5t583_set_bits(struct device *dev, unsigned int reg, + unsigned int bit_mask) +{ + struct rc5t583 *rc5t583 = dev_get_drvdata(dev); + return regmap_update_bits(rc5t583->regmap, reg, bit_mask, bit_mask); +} + +static inline int rc5t583_clear_bits(struct device *dev, unsigned int reg, + unsigned int bit_mask) +{ + struct rc5t583 *rc5t583 = dev_get_drvdata(dev); + return regmap_update_bits(rc5t583->regmap, reg, bit_mask, 0); +} + +static inline int rc5t583_update(struct device *dev, unsigned int reg, + unsigned int val, unsigned int mask) +{ + struct rc5t583 *rc5t583 = dev_get_drvdata(dev); + return regmap_update_bits(rc5t583->regmap, reg, mask, val); +} + int rc5t583_ext_power_req_config(struct device *dev, int deepsleep_id, int ext_pwr_req, int deepsleep_slot_nr); int rc5t583_irq_init(struct rc5t583 *rc5t583, int irq, int irq_base); -- cgit v1.2.3 From 5e02816d609930478383597ae20dba5a68cc001a Mon Sep 17 00:00:00 2001 From: Laxman Dewangan Date: Mon, 14 May 2012 12:46:12 +0530 Subject: gpio/rc5t583: add gpio driver for RICOH PMIC RC5T583 The PMIC device RC5T583 from RICOH supports 8 gpios. Adding gpio driver for this device to access the pins control through gpio library. Signed-off-by: Laxman Dewangan [grant.likely: slight cosmetic changes] Signed-off-by: Grant Likely (Cherry-picked from mainline e9fe32bcadb8a7a40411d77f168abd45941b049b) Change-Id: Id11f0dec229a92ce0ddcf606376ff83b6e14ca90 Signed-off-by: Laxman Dewangan Reviewed-on: http://git-master/r/105885 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Bitan Biswas --- include/linux/mfd/rc5t583.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/linux/mfd/rc5t583.h b/include/linux/mfd/rc5t583.h index c42fe92a727d..3661c59aa1e9 100644 --- a/include/linux/mfd/rc5t583.h +++ b/include/linux/mfd/rc5t583.h @@ -292,6 +292,7 @@ struct rc5t583 { * rc5t583_platform_data: Platform data for ricoh rc5t583 pmu. * The board specific data is provided through this structure. * @irq_base: Irq base number on which this device registers their interrupts. + * @gpio_base: GPIO base from which gpio of this device will start. * @enable_shutdown: Enable shutdown through the input pin "shutdown". * @regulator_deepsleep_slot: The slot number on which device goes to sleep * in device sleep mode. @@ -303,6 +304,7 @@ struct rc5t583 { struct rc5t583_platform_data { int irq_base; + int gpio_base; bool enable_shutdown; int regulator_deepsleep_slot[RC5T583_REGULATOR_MAX]; unsigned long regulator_ext_pwr_control[RC5T583_REGULATOR_MAX]; -- cgit v1.2.3 From bfdb79df1004fd3757f59a7c2882482880a3ee7b Mon Sep 17 00:00:00 2001 From: Sanjay Singh Rawat Date: Fri, 1 Jun 2012 16:31:55 +0530 Subject: arm: tegra: resolve compilation time warnings Bug 949219 Change-Id: I91a67d30869e9800c483f112d58b9f76e2dbe361 Signed-off-by: Sanjay Singh Rawat Reviewed-on: http://git-master/r/103534 Reviewed-by: Simone Willett Tested-by: Simone Willett --- include/linux/tegra_audio.h | 2 +- include/media/ad5816.h | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) (limited to 'include') diff --git a/include/linux/tegra_audio.h b/include/linux/tegra_audio.h index 3975913a5206..ddc9c93498a0 100644 --- a/include/linux/tegra_audio.h +++ b/include/linux/tegra_audio.h @@ -76,7 +76,7 @@ struct dam_srate { #define I2S_MODE_I2S _IOW(TEGRA_AUDIO_MAGIC, 18, unsigned int *) #ifdef CONFIG_SND_SOC_TEGRA -extern bool tegra_is_voice_call_active(); +extern bool tegra_is_voice_call_active(void); #else static inline bool tegra_is_voice_call_active() { diff --git a/include/media/ad5816.h b/include/media/ad5816.h index bfea25ffaddf..c51417ca472b 100644 --- a/include/media/ad5816.h +++ b/include/media/ad5816.h @@ -22,21 +22,19 @@ #include #include -typedef enum ad5816_vreg -{ +typedef enum { AD5816_VREG_VDD = 0, AD5816_VREG_VDD_AF, AD5816_VREG_VDD_I2C -}; +} ad5816_vreg; -typedef enum ad5816_gpio_types -{ +typedef enum { AD5816_GPIO_RESET = 0, AD5816_GPIO_I2CMUX, AD5816_GPIO_GP1, AD5816_GPIO_GP2, AD5816_GPIO_GP3 -}; +} ad5816_gpio_types; struct ad5816_platform_data { @@ -78,4 +76,4 @@ struct ad5816_pdata_info { #endif -/* __AD5816_H__ */ \ No newline at end of file +/* __AD5816_H__ */ -- cgit v1.2.3 From 4f569435116d03ae59e3acbfed7bdcc75ca88945 Mon Sep 17 00:00:00 2001 From: Laxman Dewangan Date: Mon, 14 May 2012 17:46:51 +0530 Subject: regulator: tps62360: support force PWM mode via regulator mode Change the mechanism of enabling the force PWM mode through regulator set mode. This can be dynamically configured now. In the REGULATOR_MODE_FAST the force PWM is enabled and in REGULATOR_MODE_NORMAL the force PWM is disabled. Signed-off-by: Laxman Dewangan Signed-off-by: Mark Brown Cherry-picked from mainline commit 9a00630 Change-Id: I39a77dbe5d0c4c2a5b81dbfe51163a65894bc98c Signed-off-by: Laxman Dewangan Reviewed-on: http://git-master/r/105832 Reviewed-by: Automatic_Commit_Validation_User --- include/linux/regulator/tps62360.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'include') diff --git a/include/linux/regulator/tps62360.h b/include/linux/regulator/tps62360.h index 6a5c1b2c751e..6475cd029c42 100644 --- a/include/linux/regulator/tps62360.h +++ b/include/linux/regulator/tps62360.h @@ -32,7 +32,6 @@ * struct tps62360_regulator_platform_data - tps62360 regulator platform data. * * @reg_init_data: The regulator init data. - * @en_force_pwm: Enable force pwm or not. * @en_discharge: Enable discharge the output capacitor via internal * register. * @en_internal_pulldn: internal pull down enable or not. @@ -45,7 +44,6 @@ */ struct tps62360_regulator_platform_data { struct regulator_init_data reg_init_data; - bool en_force_pwm; bool en_discharge; bool en_internal_pulldn; int vsel0_gpio; -- cgit v1.2.3 From 5650a157b1255dd53784a71d41946810a92ef804 Mon Sep 17 00:00:00 2001 From: Laxman Dewangan Date: Wed, 18 Apr 2012 12:13:51 +0200 Subject: mfd: Add support for tps65910 device sleep Adding support for device sleep through the external input control signal "SLEEP". Changing the SLEEP signal state can switch the device into SLEEP and ACTIVE state. Also adding sleep configuration for different resources so that they should be keep on during sleep state of device. Signed-off-by: Laxman Dewangan Signed-off-by: Samuel Ortiz (Cherry-picked from mainline 201cf052810d20814a77ca0e0045a2c1a3508a1f) Change-Id: Iec18bfcc7a1df6442e833dccaa1d39407918f710 Signed-off-by: Laxman Dewangan Reviewed-on: http://git-master/r/105920 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit --- include/linux/mfd/tps65910.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'include') diff --git a/include/linux/mfd/tps65910.h b/include/linux/mfd/tps65910.h index f6021cc9d911..4ead99035606 100644 --- a/include/linux/mfd/tps65910.h +++ b/include/linux/mfd/tps65910.h @@ -781,6 +781,18 @@ #define TPS65910_SLEEP_CONTROL_EXT_INPUT_EN3 0x4 #define TPS65911_SLEEP_CONTROL_EXT_INPUT_SLEEP 0x8 +/* + * Sleep keepon data: Maintains the state in sleep mode + * @therm_keepon: Keep on the thermal monitoring in sleep state. + * @clkout32k_keepon: Keep on the 32KHz clock output in sleep state. + * @i2chs_keepon: Keep on high speed internal clock in sleep state. + */ +struct tps65910_sleep_keepon_data { + unsigned therm_keepon:1; + unsigned clkout32k_keepon:1; + unsigned i2chs_keepon:1; +}; + /** * struct tps65910_board * Board platform data may be used to initialize regulators. @@ -792,6 +804,8 @@ struct tps65910_board { int irq_base; int vmbch_threshold; int vmbch2_threshold; + bool en_dev_slp; + struct tps65910_sleep_keepon_data *slp_keepon; unsigned long regulator_ext_sleep_control[TPS65910_NUM_REGS]; bool en_gpio_sleep[TPS6591X_MAX_NUM_GPIO]; struct regulator_init_data *tps65910_pmic_init_data[TPS65910_NUM_REGS]; -- cgit v1.2.3 From d167de5fef02520c5dfd924eeeb5fb9fae671729 Mon Sep 17 00:00:00 2001 From: Rhyland Klein Date: Tue, 8 May 2012 11:42:38 -0700 Subject: mfd: Commonize tps65910 regmap access through header This change removes the read/write callback functions in favor of common regmap accessors inside the header file. This change also makes use of regmap_read/write for single register access which maps better onto what this driver actually needs. Signed-off-by: Rhyland Klein Signed-off-by: Samuel Ortiz (Cherry-pick from mainline 3f7e82759c692df473675ed06fb90b20f1f225c3) Change-Id: Ida79b196acf65ed14ff9fd2cc1f7c0048f99ba2b Signed-off-by: Laxman Dewangan Reviewed-on: http://git-master/r/105922 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Rhyland Klein GVS: Gerrit_Virtual_Submit --- include/linux/mfd/tps65910.h | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/linux/mfd/tps65910.h b/include/linux/mfd/tps65910.h index 4ead99035606..cf4b18041038 100644 --- a/include/linux/mfd/tps65910.h +++ b/include/linux/mfd/tps65910.h @@ -17,6 +17,9 @@ #ifndef __LINUX_MFD_TPS65910_H #define __LINUX_MFD_TPS65910_H +#include +#include + /* TPS chip id list */ #define TPS65910 0 #define TPS65911 1 @@ -821,8 +824,6 @@ struct tps65910 { struct regmap *regmap; struct mutex io_mutex; unsigned int id; - int (*read)(struct tps65910 *tps65910, u8 reg, int size, void *dest); - int (*write)(struct tps65910 *tps65910, u8 reg, int size, void *src); /* Client devices */ struct tps65910_pmic *pmic; @@ -845,8 +846,6 @@ struct tps65910_platform_data { int irq_base; }; -int tps65910_set_bits(struct tps65910 *tps65910, u8 reg, u8 mask); -int tps65910_clear_bits(struct tps65910 *tps65910, u8 reg, u8 mask); void tps65910_gpio_init(struct tps65910 *tps65910, int gpio_base); int tps65910_irq_init(struct tps65910 *tps65910, int irq, struct tps65910_platform_data *pdata); @@ -857,4 +856,28 @@ static inline int tps65910_chip_id(struct tps65910 *tps65910) return tps65910->id; } +static inline int tps65910_reg_read(struct tps65910 *tps65910, u8 reg, + unsigned int *val) +{ + return regmap_read(tps65910->regmap, reg, val); +} + +static inline int tps65910_reg_write(struct tps65910 *tps65910, u8 reg, + unsigned int val) +{ + return regmap_write(tps65910->regmap, reg, val); +} + +static inline int tps65910_reg_set_bits(struct tps65910 *tps65910, u8 reg, + u8 mask) +{ + return regmap_update_bits(tps65910->regmap, reg, mask, mask); +} + +static inline int tps65910_reg_clear_bits(struct tps65910 *tps65910, u8 reg, + u8 mask) +{ + return regmap_update_bits(tps65910->regmap, reg, mask, 0); +} + #endif /* __LINUX_MFD_TPS65910_H */ -- cgit v1.2.3 From 68b0ec09c985a41aebe42e181d55170bd9962105 Mon Sep 17 00:00:00 2001 From: Laxman Dewangan Date: Fri, 11 May 2012 15:07:44 +0200 Subject: mfd: Register tps65910 gpios as an mfd device As gpio support for tps65910 is on gpio driver, registering gpio support as the mfd sub devices instead of calling gpio_init() from the core probe. Signed-off-by: Laxman Dewangan Signed-off-by: Samuel Ortiz (cherry picked from commit 32df986e985921386b75b4bd1117102bf65fe095) Change-Id: I631596313528ab192d7d8c2f376965ccc989c313 Signed-off-by: Laxman Dewangan Reviewed-on: http://git-master/r/105926 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit --- include/linux/mfd/tps65910.h | 4 ---- 1 file changed, 4 deletions(-) (limited to 'include') diff --git a/include/linux/mfd/tps65910.h b/include/linux/mfd/tps65910.h index cf4b18041038..7e4395a2c21b 100644 --- a/include/linux/mfd/tps65910.h +++ b/include/linux/mfd/tps65910.h @@ -830,9 +830,6 @@ struct tps65910 { struct tps65910_rtc *rtc; struct tps65910_power *power; - /* GPIO Handling */ - struct gpio_chip gpio; - /* IRQ Handling */ struct mutex irq_lock; int chip_irq; @@ -846,7 +843,6 @@ struct tps65910_platform_data { int irq_base; }; -void tps65910_gpio_init(struct tps65910 *tps65910, int gpio_base); int tps65910_irq_init(struct tps65910 *tps65910, int irq, struct tps65910_platform_data *pdata); int tps65910_irq_exit(struct tps65910 *tps65910); -- cgit v1.2.3 From b8b35d40b4e3197dc5aa80fab649b576e2706c14 Mon Sep 17 00:00:00 2001 From: Ben Dooks Date: Wed, 3 Aug 2011 10:11:42 +0100 Subject: OF: Add of_match_ptr() macro Add a macro of_match_ptr() that allows the .of_match_table entry in the driver structures to be assigned without having an #ifdef xxx NULL for the case that OF is not enabled Signed-off-by: Ben Dooks Signed-off-by: Grant Likely (cherry picked from commit 3a1e362e3f3cd571b3974b8d44b8e358ec7a098c) Change-Id: Ib0365629efb6f203f8d87b487f66f99417e71bb3 Signed-off-by: Laxman Dewangan Reviewed-on: http://git-master/r/105929 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit --- include/linux/of.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/linux/of.h b/include/linux/of.h index 9180dc5cb00b..c4b5b52a7515 100644 --- a/include/linux/of.h +++ b/include/linux/of.h @@ -235,6 +235,7 @@ extern void of_attach_node(struct device_node *); extern void of_detach_node(struct device_node *); #endif +#define of_match_ptr(_ptr) (_ptr) #else /* CONFIG_OF */ static inline bool of_have_populated_dt(void) @@ -263,6 +264,7 @@ static inline const void *of_get_property(const struct device_node *node, return NULL; } +#define of_match_ptr(_ptr) NULL #endif /* CONFIG_OF */ static inline int of_property_read_u32(const struct device_node *np, -- cgit v1.2.3 From de263f6e253976d8371da7e7b7089f1d9b79e92b Mon Sep 17 00:00:00 2001 From: Kevin Huang Date: Thu, 31 May 2012 16:55:15 -0700 Subject: video: tegra: dc: Export dispay feature table. Bug 992947 Change-Id: I0d1ecc9f8f042956cbe631779260a38573936616 Signed-off-by: Kevin Huang Reviewed-on: http://git-master/r/105776 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Jon Mayo --- include/video/tegra_dc_ext.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'include') diff --git a/include/video/tegra_dc_ext.h b/include/video/tegra_dc_ext.h index 76bb34b01af1..8f9d0423f516 100644 --- a/include/video/tegra_dc_ext.h +++ b/include/video/tegra_dc_ext.h @@ -211,6 +211,11 @@ struct tegra_dc_ext_status { __u32 pad[3]; }; +struct tegra_dc_ext_feature { + __u32 length; + __u32 *entries; +}; + #define TEGRA_DC_EXT_SET_NVMAP_FD \ _IOW('D', 0x00, __s32) @@ -247,6 +252,9 @@ struct tegra_dc_ext_status { #define TEGRA_DC_EXT_SET_LUT \ _IOW('D', 0x0A, struct tegra_dc_ext_lut) +#define TEGRA_DC_EXT_GET_FEATURES \ + _IOW('D', 0x0B, struct tegra_dc_ext_feature) + enum tegra_dc_ext_control_output_type { TEGRA_DC_EXT_DSI, TEGRA_DC_EXT_LVDS, -- cgit v1.2.3