Re: [PATCH 3/5] mfd: twl4030-power: Move power-related data closertogether in the header file

From: Samuel Ortiz
Date: Mon Oct 19 2009 - 15:11:37 EST


Hi Amit,

On Mon, Oct 19, 2009 at 03:10:52PM +0300, Amit Kucheria wrote:
> Bring together all the TWL power-related data in the header file
I dont really see the point of doing this, as you're not really gathering
scattered structures but rather moving a group of definitions up in the header
file.
If you dont mind I'll drop this one, unless Jean wants to take it.

Cheers,
Samuel.

> Signed-off-by: Amit Kucheria <amit.kucheria@xxxxxxxxxxxxx>
> Cc: sameo@xxxxxxxxxxxxxxx
> Cc: linux-omap@xxxxxxxxxxxxxxx
> ---
> include/linux/i2c/twl4030.h | 154 ++++++++++++++++++++++---------------------
> 1 files changed, 78 insertions(+), 76 deletions(-)
>
> diff --git a/include/linux/i2c/twl4030.h b/include/linux/i2c/twl4030.h
> index 508824e..4bc2836 100644
> --- a/include/linux/i2c/twl4030.h
> +++ b/include/linux/i2c/twl4030.h
> @@ -221,13 +221,89 @@ int twl4030_i2c_read(u8 mod_no, u8 *value, u8 reg, unsigned num_bytes);
>
> /*----------------------------------------------------------------------*/
>
> +struct twl4030_bci_platform_data {
> + int *battery_tmp_tbl;
> + unsigned int tblsize;
> +};
> +
> +/* TWL4030_GPIO_MAX (18) GPIOs, with interrupts */
> +struct twl4030_gpio_platform_data {
> + int gpio_base;
> + unsigned irq_base, irq_end;
> +
> + /* package the two LED signals as output-only GPIOs? */
> + bool use_leds;
> +
> + /* gpio-n should control VMMC(n+1) if BIT(n) in mmc_cd is set */
> + u8 mmc_cd;
> +
> + /* if BIT(N) is set, or VMMC(n+1) is linked, debounce GPIO-N */
> + u32 debounce;
> +
> + /* For gpio-N, bit (1 << N) in "pullups" is set if that pullup
> + * should be enabled. Else, if that bit is set in "pulldowns",
> + * that pulldown is enabled. Don't waste power by letting any
> + * digital inputs float...
> + */
> + u32 pullups;
> + u32 pulldowns;
> +
> + int (*setup)(struct device *dev,
> + unsigned gpio, unsigned ngpio);
> + int (*teardown)(struct device *dev,
> + unsigned gpio, unsigned ngpio);
> +};
> +
> +struct twl4030_madc_platform_data {
> + int irq_line;
> +};
> +
> +/* Boards have uniqe mappings of {row, col} --> keycode.
> + * Column and row are 8 bits each, but range only from 0..7.
> + * a PERSISTENT_KEY is "always on" and never reported.
> + */
> +#define PERSISTENT_KEY(r, c) KEY((r), (c), KEY_RESERVED)
> +
> +struct twl4030_keypad_data {
> + const struct matrix_keymap_data *keymap_data;
> + unsigned rows;
> + unsigned cols;
> + bool rep;
> +};
> +
> +enum twl4030_usb_mode {
> + T2_USB_MODE_ULPI = 1,
> + T2_USB_MODE_CEA2011_3PIN = 2,
> +};
> +
> +struct twl4030_usb_data {
> + enum twl4030_usb_mode usb_mode;
> +};
> +
> +struct twl4030_ins {
> + u16 pmb_message;
> + u8 delay;
> +};
> +
> +struct twl4030_script {
> + struct twl4030_ins *script;
> + unsigned size;
> + u8 flags;
> +#define TWL4030_WRST_SCRIPT (1<<0)
> +#define TWL4030_WAKEUP12_SCRIPT (1<<1)
> +#define TWL4030_WAKEUP3_SCRIPT (1<<2)
> +#define TWL4030_SLEEP_SCRIPT (1<<3)
> +};
> +
> +/*----------------------------------------------------------------------*/
> +
> /* Power bus message definitions */
>
> /* The TWL4030/5030 splits its power-management resources (the various
> * regulators, clock and reset lines) into 3 processor groups - P1, P2 and
> * P3. These groups can then be configured to transition between sleep, wait-on
> - * and active states by sending messages to the power bus. See Section 5.4.2
> - * Power Resources of TWL4030 TRM
> + * (OFF) and active states by sending messages to the power bus. See Section
> + * 5.4.2 Power Resources of TWL4030 TRM
> */
>
> /* Processor groups */
> @@ -312,80 +388,6 @@ int twl4030_i2c_read(u8 mod_no, u8 *value, u8 reg, unsigned num_bytes);
>
> /*----------------------------------------------------------------------*/
>
> -struct twl4030_bci_platform_data {
> - int *battery_tmp_tbl;
> - unsigned int tblsize;
> -};
> -
> -/* TWL4030_GPIO_MAX (18) GPIOs, with interrupts */
> -struct twl4030_gpio_platform_data {
> - int gpio_base;
> - unsigned irq_base, irq_end;
> -
> - /* package the two LED signals as output-only GPIOs? */
> - bool use_leds;
> -
> - /* gpio-n should control VMMC(n+1) if BIT(n) in mmc_cd is set */
> - u8 mmc_cd;
> -
> - /* if BIT(N) is set, or VMMC(n+1) is linked, debounce GPIO-N */
> - u32 debounce;
> -
> - /* For gpio-N, bit (1 << N) in "pullups" is set if that pullup
> - * should be enabled. Else, if that bit is set in "pulldowns",
> - * that pulldown is enabled. Don't waste power by letting any
> - * digital inputs float...
> - */
> - u32 pullups;
> - u32 pulldowns;
> -
> - int (*setup)(struct device *dev,
> - unsigned gpio, unsigned ngpio);
> - int (*teardown)(struct device *dev,
> - unsigned gpio, unsigned ngpio);
> -};
> -
> -struct twl4030_madc_platform_data {
> - int irq_line;
> -};
> -
> -/* Boards have uniqe mappings of {row, col} --> keycode.
> - * Column and row are 8 bits each, but range only from 0..7.
> - * a PERSISTENT_KEY is "always on" and never reported.
> - */
> -#define PERSISTENT_KEY(r, c) KEY((r), (c), KEY_RESERVED)
> -
> -struct twl4030_keypad_data {
> - const struct matrix_keymap_data *keymap_data;
> - unsigned rows;
> - unsigned cols;
> - bool rep;
> -};
> -
> -enum twl4030_usb_mode {
> - T2_USB_MODE_ULPI = 1,
> - T2_USB_MODE_CEA2011_3PIN = 2,
> -};
> -
> -struct twl4030_usb_data {
> - enum twl4030_usb_mode usb_mode;
> -};
> -
> -struct twl4030_ins {
> - u16 pmb_message;
> - u8 delay;
> -};
> -
> -struct twl4030_script {
> - struct twl4030_ins *script;
> - unsigned size;
> - u8 flags;
> -#define TWL4030_WRST_SCRIPT (1<<0)
> -#define TWL4030_WAKEUP12_SCRIPT (1<<1)
> -#define TWL4030_WAKEUP3_SCRIPT (1<<2)
> -#define TWL4030_SLEEP_SCRIPT (1<<3)
> -};
> -
> struct twl4030_resconfig {
> u8 resource;
> u8 devgroup; /* Processor group that Power resource belongs to */
> --
> 1.6.3.3
>

--
Intel Open Source Technology Centre
http://oss.intel.com/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/