Re: [PATCH 01/12] mfd: twl-core: don't depend on pdata-irq_base/end
Samuel, On 3/14/2012 10:53 PM, Kevin Hilman wrote: Kevin Hilmankhil...@ti.com writes: Benoit Coussonb-cous...@ti.com writes: From: Felipe Balbiba...@ti.com With sparse IRQs the driver shouldn't depend at all on any IRQ values coming from board-file. Remove every occurences of pdata-irq_base/end. Well, not quite *every*. :) If the driver isn't going to use those fields anymore, they should also be removed from the pdata struct too[1]. Also, the remaining board/init code that is initializing those fields should be removed as well[2], since it obviously has no effect. The first patch below should probably be folded into this one, and then the 2nd patch removes all the users. Below is a correct version of the 2nd patch which removes all the users. The previous version wouldn't apply cleanly because I generated it on top of a local branch that also included some other changes to twl-common.c from the SMPS regulator series (which seems to have missed the window for v3.4.) This one applies cleanly on your for_3.4/twl_irq_gpio_mmc_fix branch. After discussing with Kevin, we think it might be better to wait 3.5 for this further cleanup patches. These patches will need some patches already queued by Tony to avoid breaking OMAP build. In order to reduce dependency, let's push them for 3.5. You can the pull the current branch. Thanks, Benoit Kevin From b59a4754fb66f6f729ebbd0563c4cd2bd2cda56e Mon Sep 17 00:00:00 2001 From: Kevin Hilmankhil...@ti.com Date: Wed, 14 Mar 2012 13:56:01 -0700 Subject: [PATCH] ARM: OMAP2+: TWL: remove usage of pdata-irq_base/_end The driver has been converted to use SPARSE_IRQ and no longer needs to be passed IRQ base/end. The driver no longer uses these fields, so remove them from the reamaining users. Signed-off-by: Kevin Hilmankhil...@ti.com --- arch/arm/mach-omap2/board-2430sdp.c|3 --- arch/arm/mach-omap2/board-omap3logic.c |3 --- arch/arm/mach-omap2/twl-common.c | 10 -- 3 files changed, 16 deletions(-) diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c index 7370983..7dfcb96 100644 --- a/arch/arm/mach-omap2/board-2430sdp.c +++ b/arch/arm/mach-omap2/board-2430sdp.c @@ -218,9 +218,6 @@ static struct twl4030_gpio_platform_data sdp2430_gpio_data = { }; static struct twl4030_platform_data sdp2430_twldata = { - .irq_base = TWL4030_IRQ_BASE, - .irq_end= TWL4030_IRQ_END, - /* platform_data for children goes here */ .gpio =sdp2430_gpio_data, .vmmc1 =sdp2430_vmmc1, diff --git a/arch/arm/mach-omap2/board-omap3logic.c b/arch/arm/mach-omap2/board-omap3logic.c index 4198dd0..0b053b4 100644 --- a/arch/arm/mach-omap2/board-omap3logic.c +++ b/arch/arm/mach-omap2/board-omap3logic.c @@ -85,9 +85,6 @@ static struct twl4030_gpio_platform_data omap3logic_gpio_data = { }; static struct twl4030_platform_data omap3logic_twldata = { - .irq_base = TWL4030_IRQ_BASE, - .irq_end= TWL4030_IRQ_END, - /* platform_data for children goes here */ .gpio =omap3logic_gpio_data, .vmmc1 =omap3logic_vmmc1, diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c index 10b20c6..ce349ac 100644 --- a/arch/arm/mach-omap2/twl-common.c +++ b/arch/arm/mach-omap2/twl-common.c @@ -129,11 +129,6 @@ static struct regulator_init_data omap3_vpll2_idata = { void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data, u32 pdata_flags, u32 regulators_flags) { - if (!pmic_data-irq_base) - pmic_data-irq_base = TWL4030_IRQ_BASE; - if (!pmic_data-irq_end) - pmic_data-irq_end = TWL4030_IRQ_END; - /* Common platform data configurations */ if (pdata_flags TWL_COMMON_PDATA_USB !pmic_data-usb) pmic_data-usb =omap3_usb_pdata; @@ -287,11 +282,6 @@ static struct regulator_init_data omap4_clk32kg_idata = { void __init omap4_pmic_get_config(struct twl4030_platform_data *pmic_data, u32 pdata_flags, u32 regulators_flags) { - if (!pmic_data-irq_base) - pmic_data-irq_base = TWL6030_IRQ_BASE; - if (!pmic_data-irq_end) - pmic_data-irq_end = TWL6030_IRQ_END; - /* Common platform data configurations */ if (pdata_flags TWL_COMMON_PDATA_USB !pmic_data-usb) pmic_data-usb =omap4_usb_pdata; -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 01/12] mfd: twl-core: don't depend on pdata-irq_base/end
Hi, On Wed, Mar 14, 2012 at 01:59:51PM -0700, Kevin Hilman wrote: Benoit Cousson b-cous...@ti.com writes: From: Felipe Balbi ba...@ti.com With sparse IRQs the driver shouldn't depend at all on any IRQ values coming from board-file. Remove every occurences of pdata-irq_base/end. Well, not quite *every*. :) If the driver isn't going to use those fields anymore, they should also be removed from the pdata struct too[1]. Also, the remaining board/init code that is initializing those fields should be removed as well[2], since it obviously has no effect. indeed, but the idea was to decouple driver changes from arch/arm/*omap* changes minimizing the oportunity of conflicts. So, e.g. on v3.4 we change driver and on v3.5 we change board files. -- balbi signature.asc Description: Digital signature
Re: [PATCH 01/12] mfd: twl-core: don't depend on pdata-irq_base/end
Benoit Cousson b-cous...@ti.com writes: From: Felipe Balbi ba...@ti.com With sparse IRQs the driver shouldn't depend at all on any IRQ values coming from board-file. Remove every occurences of pdata-irq_base/end. Well, not quite *every*. :) If the driver isn't going to use those fields anymore, they should also be removed from the pdata struct too[1]. Also, the remaining board/init code that is initializing those fields should be removed as well[2], since it obviously has no effect. The first patch below should probably be folded into this one, and then the 2nd patch removes all the users. Kevin [1] From 70a1833ca20142ef5b6b96dbc92a63c7f8ef9a04 Mon Sep 17 00:00:00 2001 From: Kevin Hilman khil...@ti.com Date: Wed, 14 Mar 2012 13:55:31 -0700 Subject: [PATCH 1/2] mfd: twl-core: remove pdata-irq_base/end Signed-off-by: Kevin Hilman khil...@ti.com --- include/linux/i2c/twl.h |1 - 1 file changed, 1 deletion(-) diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h index 2463b61..fa76006 100644 --- a/include/linux/i2c/twl.h +++ b/include/linux/i2c/twl.h @@ -697,7 +697,6 @@ struct twl4030_audio_data { }; struct twl4030_platform_data { - unsignedirq_base, irq_end; struct twl4030_clock_init_data *clock; struct twl4030_bci_platform_data*bci; struct twl4030_gpio_platform_data *gpio; -- 1.7.9.2 [2] From d2b7b518b4c66beb99fccfcb898001c11a2f6dc9 Mon Sep 17 00:00:00 2001 From: Kevin Hilman khil...@ti.com Date: Wed, 14 Mar 2012 13:56:01 -0700 Subject: [PATCH 2/2] ARM: OMAP2+: TWL: remove usage of pdata-irq_base/_end The driver has been converted to use SPARSE_IRQ and no longer needs to be passed IRQ base/end. The driver no longer uses these fields, so remove them from the reamaining users. Signed-off-by: Kevin Hilman khil...@ti.com --- arch/arm/mach-omap2/board-2430sdp.c|3 --- arch/arm/mach-omap2/board-omap3logic.c |3 --- arch/arm/mach-omap2/twl-common.c |9 - 3 files changed, 15 deletions(-) diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c index c8bda62..b8b3700 100644 --- a/arch/arm/mach-omap2/board-2430sdp.c +++ b/arch/arm/mach-omap2/board-2430sdp.c @@ -218,9 +218,6 @@ static struct twl4030_gpio_platform_data sdp2430_gpio_data = { }; static struct twl4030_platform_data sdp2430_twldata = { - .irq_base = TWL4030_IRQ_BASE, - .irq_end= TWL4030_IRQ_END, - /* platform_data for children goes here */ .gpio = sdp2430_gpio_data, .vmmc1 = sdp2430_vmmc1, diff --git a/arch/arm/mach-omap2/board-omap3logic.c b/arch/arm/mach-omap2/board-omap3logic.c index 4a7d8c8..f145935 100644 --- a/arch/arm/mach-omap2/board-omap3logic.c +++ b/arch/arm/mach-omap2/board-omap3logic.c @@ -85,9 +85,6 @@ static struct twl4030_gpio_platform_data omap3logic_gpio_data = { }; static struct twl4030_platform_data omap3logic_twldata = { - .irq_base = TWL4030_IRQ_BASE, - .irq_end= TWL4030_IRQ_END, - /* platform_data for children goes here */ .gpio = omap3logic_gpio_data, .vmmc1 = omap3logic_vmmc1, diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c index 1cddcb2..5c9aa3f 100644 --- a/arch/arm/mach-omap2/twl-common.c +++ b/arch/arm/mach-omap2/twl-common.c @@ -184,10 +184,6 @@ static struct twl_regulator_driver_data omap3_vdd2_drvdata = { void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data, u32 pdata_flags, u32 regulators_flags) { - if (!pmic_data-irq_base) - pmic_data-irq_base = TWL4030_IRQ_BASE; - if (!pmic_data-irq_end) - pmic_data-irq_end = TWL4030_IRQ_END; if (!pmic_data-vdd1) { omap3_vdd1.driver_data = omap3_vdd1_drvdata; omap3_vdd1_drvdata.data = voltdm_lookup(mpu_iva); @@ -415,11 +411,6 @@ static struct twl_regulator_driver_data omap4_vdd3_drvdata = { void __init omap4_pmic_get_config(struct twl4030_platform_data *pmic_data, u32 pdata_flags, u32 regulators_flags) { - if (!pmic_data-irq_base) - pmic_data-irq_base = TWL6030_IRQ_BASE; - if (!pmic_data-irq_end) - pmic_data-irq_end = TWL6030_IRQ_END; - if (!pmic_data-vdd1) { omap4_vdd1.driver_data = omap4_vdd1_drvdata; omap4_vdd1_drvdata.data = voltdm_lookup(mpu); -- 1.7.9.2 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 01/12] mfd: twl-core: don't depend on pdata-irq_base/end
On 3/14/2012 9:59 PM, Kevin Hilman wrote: Benoit Coussonb-cous...@ti.com writes: From: Felipe Balbiba...@ti.com With sparse IRQs the driver shouldn't depend at all on any IRQ values coming from board-file. Remove every occurences of pdata-irq_base/end. Well, not quite *every*. :) Hehe, good catch, thanks. If the driver isn't going to use those fields anymore, they should also be removed from the pdata struct too[1]. Also, the remaining board/init code that is initializing those fields should be removed as well[2], since it obviously has no effect. The first patch below should probably be folded into this one, and then the 2nd patch removes all the users. We should probably remove all the users before removing the attribute? It looks like your patches are ordered in the opposite way. I'll add that in the series and repost the pull request. Regards, Benoit Kevin [1] From 70a1833ca20142ef5b6b96dbc92a63c7f8ef9a04 Mon Sep 17 00:00:00 2001 From: Kevin Hilmankhil...@ti.com Date: Wed, 14 Mar 2012 13:55:31 -0700 Subject: [PATCH 1/2] mfd: twl-core: remove pdata-irq_base/end Signed-off-by: Kevin Hilmankhil...@ti.com --- include/linux/i2c/twl.h |1 - 1 file changed, 1 deletion(-) diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h index 2463b61..fa76006 100644 --- a/include/linux/i2c/twl.h +++ b/include/linux/i2c/twl.h @@ -697,7 +697,6 @@ struct twl4030_audio_data { }; struct twl4030_platform_data { - unsignedirq_base, irq_end; struct twl4030_clock_init_data *clock; struct twl4030_bci_platform_data*bci; struct twl4030_gpio_platform_data *gpio; -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 01/12] mfd: twl-core: don't depend on pdata-irq_base/end
Cousson, Benoit b-cous...@ti.com writes: On 3/14/2012 9:59 PM, Kevin Hilman wrote: Benoit Coussonb-cous...@ti.com writes: From: Felipe Balbiba...@ti.com With sparse IRQs the driver shouldn't depend at all on any IRQ values coming from board-file. Remove every occurences of pdata-irq_base/end. Well, not quite *every*. :) Hehe, good catch, thanks. If the driver isn't going to use those fields anymore, they should also be removed from the pdata struct too[1]. Also, the remaining board/init code that is initializing those fields should be removed as well[2], since it obviously has no effect. The first patch below should probably be folded into this one, and then the 2nd patch removes all the users. We should probably remove all the users before removing the attribute? It looks like your patches are ordered in the opposite way. Agreed. I'll add that in the series and repost the pull request. Great, thanks. Kevin -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 01/12] mfd: twl-core: don't depend on pdata-irq_base/end
Kevin Hilman khil...@ti.com writes: Benoit Cousson b-cous...@ti.com writes: From: Felipe Balbi ba...@ti.com With sparse IRQs the driver shouldn't depend at all on any IRQ values coming from board-file. Remove every occurences of pdata-irq_base/end. Well, not quite *every*. :) If the driver isn't going to use those fields anymore, they should also be removed from the pdata struct too[1]. Also, the remaining board/init code that is initializing those fields should be removed as well[2], since it obviously has no effect. The first patch below should probably be folded into this one, and then the 2nd patch removes all the users. Below is a correct version of the 2nd patch which removes all the users. The previous version wouldn't apply cleanly because I generated it on top of a local branch that also included some other changes to twl-common.c from the SMPS regulator series (which seems to have missed the window for v3.4.) This one applies cleanly on your for_3.4/twl_irq_gpio_mmc_fix branch. Kevin From b59a4754fb66f6f729ebbd0563c4cd2bd2cda56e Mon Sep 17 00:00:00 2001 From: Kevin Hilman khil...@ti.com Date: Wed, 14 Mar 2012 13:56:01 -0700 Subject: [PATCH] ARM: OMAP2+: TWL: remove usage of pdata-irq_base/_end The driver has been converted to use SPARSE_IRQ and no longer needs to be passed IRQ base/end. The driver no longer uses these fields, so remove them from the reamaining users. Signed-off-by: Kevin Hilman khil...@ti.com --- arch/arm/mach-omap2/board-2430sdp.c|3 --- arch/arm/mach-omap2/board-omap3logic.c |3 --- arch/arm/mach-omap2/twl-common.c | 10 -- 3 files changed, 16 deletions(-) diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c index 7370983..7dfcb96 100644 --- a/arch/arm/mach-omap2/board-2430sdp.c +++ b/arch/arm/mach-omap2/board-2430sdp.c @@ -218,9 +218,6 @@ static struct twl4030_gpio_platform_data sdp2430_gpio_data = { }; static struct twl4030_platform_data sdp2430_twldata = { - .irq_base = TWL4030_IRQ_BASE, - .irq_end= TWL4030_IRQ_END, - /* platform_data for children goes here */ .gpio = sdp2430_gpio_data, .vmmc1 = sdp2430_vmmc1, diff --git a/arch/arm/mach-omap2/board-omap3logic.c b/arch/arm/mach-omap2/board-omap3logic.c index 4198dd0..0b053b4 100644 --- a/arch/arm/mach-omap2/board-omap3logic.c +++ b/arch/arm/mach-omap2/board-omap3logic.c @@ -85,9 +85,6 @@ static struct twl4030_gpio_platform_data omap3logic_gpio_data = { }; static struct twl4030_platform_data omap3logic_twldata = { - .irq_base = TWL4030_IRQ_BASE, - .irq_end= TWL4030_IRQ_END, - /* platform_data for children goes here */ .gpio = omap3logic_gpio_data, .vmmc1 = omap3logic_vmmc1, diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c index 10b20c6..ce349ac 100644 --- a/arch/arm/mach-omap2/twl-common.c +++ b/arch/arm/mach-omap2/twl-common.c @@ -129,11 +129,6 @@ static struct regulator_init_data omap3_vpll2_idata = { void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data, u32 pdata_flags, u32 regulators_flags) { - if (!pmic_data-irq_base) - pmic_data-irq_base = TWL4030_IRQ_BASE; - if (!pmic_data-irq_end) - pmic_data-irq_end = TWL4030_IRQ_END; - /* Common platform data configurations */ if (pdata_flags TWL_COMMON_PDATA_USB !pmic_data-usb) pmic_data-usb = omap3_usb_pdata; @@ -287,11 +282,6 @@ static struct regulator_init_data omap4_clk32kg_idata = { void __init omap4_pmic_get_config(struct twl4030_platform_data *pmic_data, u32 pdata_flags, u32 regulators_flags) { - if (!pmic_data-irq_base) - pmic_data-irq_base = TWL6030_IRQ_BASE; - if (!pmic_data-irq_end) - pmic_data-irq_end = TWL6030_IRQ_END; - /* Common platform data configurations */ if (pdata_flags TWL_COMMON_PDATA_USB !pmic_data-usb) pmic_data-usb = omap4_usb_pdata; -- 1.7.9.2 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 01/12] mfd: twl-core: don't depend on pdata-irq_base/end
* Kevin Hilman khil...@ti.com [120314 14:02]: From: Kevin Hilman khil...@ti.com Date: Wed, 14 Mar 2012 13:56:01 -0700 Subject: [PATCH 2/2] ARM: OMAP2+: TWL: remove usage of pdata-irq_base/_end The driver has been converted to use SPARSE_IRQ and no longer needs to be passed IRQ base/end. The driver no longer uses these fields, so remove them from the reamaining users. Signed-off-by: Kevin Hilman khil...@ti.com --- arch/arm/mach-omap2/board-2430sdp.c|3 --- arch/arm/mach-omap2/board-omap3logic.c |3 --- arch/arm/mach-omap2/twl-common.c |9 - 3 files changed, 15 deletions(-) diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c index c8bda62..b8b3700 100644 --- a/arch/arm/mach-omap2/board-2430sdp.c +++ b/arch/arm/mach-omap2/board-2430sdp.c @@ -218,9 +218,6 @@ static struct twl4030_gpio_platform_data sdp2430_gpio_data = { }; static struct twl4030_platform_data sdp2430_twldata = { - .irq_base = TWL4030_IRQ_BASE, - .irq_end= TWL4030_IRQ_END, - /* platform_data for children goes here */ .gpio = sdp2430_gpio_data, .vmmc1 = sdp2430_vmmc1, diff --git a/arch/arm/mach-omap2/board-omap3logic.c b/arch/arm/mach-omap2/board-omap3logic.c index 4a7d8c8..f145935 100644 --- a/arch/arm/mach-omap2/board-omap3logic.c +++ b/arch/arm/mach-omap2/board-omap3logic.c @@ -85,9 +85,6 @@ static struct twl4030_gpio_platform_data omap3logic_gpio_data = { }; static struct twl4030_platform_data omap3logic_twldata = { - .irq_base = TWL4030_IRQ_BASE, - .irq_end= TWL4030_IRQ_END, - /* platform_data for children goes here */ .gpio = omap3logic_gpio_data, .vmmc1 = omap3logic_vmmc1, diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c index 1cddcb2..5c9aa3f 100644 --- a/arch/arm/mach-omap2/twl-common.c +++ b/arch/arm/mach-omap2/twl-common.c @@ -184,10 +184,6 @@ static struct twl_regulator_driver_data omap3_vdd2_drvdata = { void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data, u32 pdata_flags, u32 regulators_flags) { - if (!pmic_data-irq_base) - pmic_data-irq_base = TWL4030_IRQ_BASE; - if (!pmic_data-irq_end) - pmic_data-irq_end = TWL4030_IRQ_END; if (!pmic_data-vdd1) { omap3_vdd1.driver_data = omap3_vdd1_drvdata; omap3_vdd1_drvdata.data = voltdm_lookup(mpu_iva); @@ -415,11 +411,6 @@ static struct twl_regulator_driver_data omap4_vdd3_drvdata = { void __init omap4_pmic_get_config(struct twl4030_platform_data *pmic_data, u32 pdata_flags, u32 regulators_flags) { - if (!pmic_data-irq_base) - pmic_data-irq_base = TWL6030_IRQ_BASE; - if (!pmic_data-irq_end) - pmic_data-irq_end = TWL6030_IRQ_END; - if (!pmic_data-vdd1) { omap4_vdd1.driver_data = omap4_vdd1_drvdata; omap4_vdd1_drvdata.data = voltdm_lookup(mpu); -- Looks right to me: Acked-by: Tony Lindgren t...@atomide.com -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html