2012-10-31 14:54:46

by Peter Ujfalusi

[permalink] [raw]
Subject: [PATCH] MFD: twl-core: Fix chip ID for the twl6030-pwm module

The correct chip id is 1 since the PWM module is on address 0x49. With the
current TWL6030_MODULE_ID1 the kernel will crash early since:
#define TWL6030_MODULE_ID1 0x0E
and
static struct twl_client twl_modules[4];

Down in the stack we try to get the module by:
struct twl_client *twl = &twl_modules[chip];

Which obviously going to do nasty things.

Signed-off-by: Peter Ujfalusi <[email protected]>
---
Hi Samuel,

Can you push this patch to 3.7?
Without this if the user enables the twl6030-pwm driver the kernel will not
going to boot on OMAP4.

Thank you,
Peter

drivers/mfd/twl-core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
index 2624668..d7577cb 100644
--- a/drivers/mfd/twl-core.c
+++ b/drivers/mfd/twl-core.c
@@ -672,7 +672,7 @@ add_children(struct twl4030_platform_data *pdata, unsigned irq_base,
}

if (IS_ENABLED(CONFIG_PWM_TWL6030) && twl_class_is_6030()) {
- child = add_child(TWL6030_MODULE_ID1, "twl6030-pwm", NULL, 0,
+ child = add_child(SUB_CHIP_ID1, "twl6030-pwm", NULL, 0,
false, 0, 0);
if (IS_ERR(child))
return PTR_ERR(child);
--
1.7.12.4


2012-11-01 09:09:50

by Tero Kristo

[permalink] [raw]
Subject: Re: [PATCH] MFD: twl-core: Fix chip ID for the twl6030-pwm module

Acked-by: Tero Kristo <[email protected]>

On Wed, 2012-10-31 at 15:54 +0100, Peter Ujfalusi wrote:
> The correct chip id is 1 since the PWM module is on address 0x49. With the
> current TWL6030_MODULE_ID1 the kernel will crash early since:
> #define TWL6030_MODULE_ID1 0x0E
> and
> static struct twl_client twl_modules[4];
>
> Down in the stack we try to get the module by:
> struct twl_client *twl = &twl_modules[chip];
>
> Which obviously going to do nasty things.
>
> Signed-off-by: Peter Ujfalusi <[email protected]>
> ---
> Hi Samuel,
>
> Can you push this patch to 3.7?
> Without this if the user enables the twl6030-pwm driver the kernel will not
> going to boot on OMAP4.
>
> Thank you,
> Peter
>
> drivers/mfd/twl-core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
> index 2624668..d7577cb 100644
> --- a/drivers/mfd/twl-core.c
> +++ b/drivers/mfd/twl-core.c
> @@ -672,7 +672,7 @@ add_children(struct twl4030_platform_data *pdata, unsigned irq_base,
> }
>
> if (IS_ENABLED(CONFIG_PWM_TWL6030) && twl_class_is_6030()) {
> - child = add_child(TWL6030_MODULE_ID1, "twl6030-pwm", NULL, 0,
> + child = add_child(SUB_CHIP_ID1, "twl6030-pwm", NULL, 0,
> false, 0, 0);
> if (IS_ERR(child))
> return PTR_ERR(child);

2012-11-12 14:50:44

by Peter Ujfalusi

[permalink] [raw]
Subject: Re: [PATCH] MFD: twl-core: Fix chip ID for the twl6030-pwm module

Hi Samuel,

On 11/01/2012 10:09 AM, Tero Kristo wrote:
> Acked-by: Tero Kristo <[email protected]>

Can you take this patch for 3.7?

Thank you,
Péter

>
> On Wed, 2012-10-31 at 15:54 +0100, Peter Ujfalusi wrote:
>> The correct chip id is 1 since the PWM module is on address 0x49. With the
>> current TWL6030_MODULE_ID1 the kernel will crash early since:
>> #define TWL6030_MODULE_ID1 0x0E
>> and
>> static struct twl_client twl_modules[4];
>>
>> Down in the stack we try to get the module by:
>> struct twl_client *twl = &twl_modules[chip];
>>
>> Which obviously going to do nasty things.
>>
>> Signed-off-by: Peter Ujfalusi <[email protected]>
>> ---
>> Hi Samuel,
>>
>> Can you push this patch to 3.7?
>> Without this if the user enables the twl6030-pwm driver the kernel will not
>> going to boot on OMAP4.
>>
>> Thank you,
>> Peter
>>
>> drivers/mfd/twl-core.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
>> index 2624668..d7577cb 100644
>> --- a/drivers/mfd/twl-core.c
>> +++ b/drivers/mfd/twl-core.c
>> @@ -672,7 +672,7 @@ add_children(struct twl4030_platform_data *pdata, unsigned irq_base,
>> }
>>
>> if (IS_ENABLED(CONFIG_PWM_TWL6030) && twl_class_is_6030()) {
>> - child = add_child(TWL6030_MODULE_ID1, "twl6030-pwm", NULL, 0,
>> + child = add_child(SUB_CHIP_ID1, "twl6030-pwm", NULL, 0,
>> false, 0, 0);
>> if (IS_ERR(child))
>> return PTR_ERR(child);
>
>

2012-11-13 18:59:08

by Samuel Ortiz

[permalink] [raw]
Subject: Re: [PATCH] MFD: twl-core: Fix chip ID for the twl6030-pwm module

Hi Peter,

On Wed, Oct 31, 2012 at 03:54:37PM +0100, Peter Ujfalusi wrote:
> The correct chip id is 1 since the PWM module is on address 0x49. With the
> current TWL6030_MODULE_ID1 the kernel will crash early since:
> #define TWL6030_MODULE_ID1 0x0E
> and
> static struct twl_client twl_modules[4];
>
> Down in the stack we try to get the module by:
> struct twl_client *twl = &twl_modules[chip];
>
> Which obviously going to do nasty things.
>
> Signed-off-by: Peter Ujfalusi <[email protected]>
> ---
> Hi Samuel,
>
> Can you push this patch to 3.7?
Applied to my for-linus branch. This should make it to 3.7.

Cheers,
Samuel.

--
Intel Open Source Technology Centre
http://oss.intel.com/