[PATCH 1/6] i2c-pxa: move i2c_pxa_remove to __devexit instead of just __exit

Subsystems: i2c subsystem, i2c subsystem host drivers, the rest

STALE5691d

19 messages, 4 authors, 2011-02-15 · open the first message on its own page

[PATCH 1/6] i2c-pxa: move i2c_pxa_remove to __devexit instead of just __exit

From: Dmitry Eremin-Solenikov <hidden>
Date: 2011-01-05 02:05:05

Signed-off-by: Dmitry Eremin-Solenikov <redacted>
Cc: linux-i2c at vger.kernel.org
Cc: Ben Dooks <ben-linux@fluff.org>
---
 drivers/i2c/busses/i2c-pxa.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
index f4c19a9..0f10955 100644
--- a/drivers/i2c/busses/i2c-pxa.c
+++ b/drivers/i2c/busses/i2c-pxa.c
@@ -1115,7 +1115,7 @@ emalloc:
 	return ret;
 }
 
-static int __exit i2c_pxa_remove(struct platform_device *dev)
+static int __devexit i2c_pxa_remove(struct platform_device *dev)
 {
 	struct pxa_i2c *i2c = platform_get_drvdata(dev);
 
@@ -1169,7 +1169,7 @@ static const struct dev_pm_ops i2c_pxa_dev_pm_ops = {
 
 static struct platform_driver i2c_pxa_driver = {
 	.probe		= i2c_pxa_probe,
-	.remove		= __exit_p(i2c_pxa_remove),
+	.remove		= __devexit_p(i2c_pxa_remove),
 	.driver		= {
 		.name	= "pxa2xx-i2c",
 		.owner	= THIS_MODULE,
-- 
1.7.2.3

[PATCH 2/6] mfp-pxa27x: correct naming of GPIO13_KP_DKIN_7

From: Dmitry Eremin-Solenikov <hidden>
Date: 2011-01-05 02:05:06

Correct naming of one of pin functions: it's GPIO13_KP_DKIN_7, not
GPIO13_KP_KDIN_7.

Signed-off-by: Dmitry Eremin-Solenikov <redacted>
---
 arch/arm/mach-pxa/include/mach/mfp-pxa27x.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-pxa/include/mach/mfp-pxa27x.h b/arch/arm/mach-pxa/include/mach/mfp-pxa27x.h
index ec0f0b0..6553d62 100644
--- a/arch/arm/mach-pxa/include/mach/mfp-pxa27x.h
+++ b/arch/arm/mach-pxa/include/mach/mfp-pxa27x.h
@@ -300,7 +300,7 @@
 #define GPIO97_KP_DKIN_4	MFP_CFG_IN(GPIO97, AF1)
 #define GPIO98_KP_DKIN_5	MFP_CFG_IN(GPIO98, AF1)
 #define GPIO99_KP_DKIN_6	MFP_CFG_IN(GPIO99, AF1)
-#define GPIO13_KP_KDIN_7	MFP_CFG_IN(GPIO13, AF2)
+#define GPIO13_KP_DKIN_7	MFP_CFG_IN(GPIO13, AF2)
 #define GPIO100_KP_MKIN_0	MFP_CFG_IN(GPIO100, AF1)
 #define GPIO101_KP_MKIN_1	MFP_CFG_IN(GPIO101, AF1)
 #define GPIO102_KP_MKIN_2	MFP_CFG_IN(GPIO102, AF1)
-- 
1.7.2.3

[PATCH 3/6] pxa2xx: update stored gpio settings in pxa2xx_mfp_set_lpm()

From: Dmitry Eremin-Solenikov <hidden>
Date: 2011-01-05 02:05:07

pxa2xx_mfp_set_lpm() reconfigures MFP, but doesn't update gpio_desc cache. Fix that.

Signed-off-by: Dmitry Eremin-Solenikov <redacted>
---
 arch/arm/mach-pxa/mfp-pxa2xx.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-pxa/mfp-pxa2xx.c b/arch/arm/mach-pxa/mfp-pxa2xx.c
index 1d1419b..7a6e122 100644
--- a/arch/arm/mach-pxa/mfp-pxa2xx.c
+++ b/arch/arm/mach-pxa/mfp-pxa2xx.c
@@ -160,6 +160,7 @@ void pxa2xx_mfp_set_lpm(int mfp, unsigned long lpm)
 
 	c = gpio_desc[gpio].config;
 	c = (c & ~MFP_LPM_STATE_MASK) | lpm;
+	gpio_desc[gpio].config = c;
 	__mfp_config_gpio(gpio, c);
 
 	local_irq_restore(flags);
-- 
1.7.2.3

[PATCH 4/6] pcmcia: limit pxa2xx_balloon3 subdriver to balloon3 platform

From: Dmitry Eremin-Solenikov <hidden>
Date: 2011-01-05 02:05:08

pxa2xx_balloon3 tries to register pxa2xx-pcmcia device not checking whether
machine is really balloon3, thus messing multi-machine kernels. Fix it up.

Signed-off-by: Dmitry Eremin-Solenikov <redacted>
---
 drivers/pcmcia/pxa2xx_balloon3.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/pcmcia/pxa2xx_balloon3.c b/drivers/pcmcia/pxa2xx_balloon3.c
index dbbdd00..0b1caca 100644
--- a/drivers/pcmcia/pxa2xx_balloon3.c
+++ b/drivers/pcmcia/pxa2xx_balloon3.c
@@ -25,6 +25,8 @@
 
 #include <mach/balloon3.h>
 
+#include <asm/mach-types.h>
+
 #include "soc_common.h"
 
 /*
@@ -128,6 +130,9 @@ static int __init balloon3_pcmcia_init(void)
 {
 	int ret;
 
+	if (!machine_is_balloon3())
+		return -ENODEV;
+
 	balloon3_pcmcia_device = platform_device_alloc("pxa2xx-pcmcia", -1);
 	if (!balloon3_pcmcia_device)
 		return -ENOMEM;
-- 
1.7.2.3

[PATCH 5/6] pcmcia: limit pxa2xx_trizeps4 subdriver to trizeps4 platform

From: Dmitry Eremin-Solenikov <hidden>
Date: 2011-01-05 02:05:09

pxa2xx_trizeps4 tries to register pxa2xx-pcmcia device not checking whether
machine is really trizeps4, thus messing multi-machine kernels. Fix it up.

Signed-off-by: Dmitry Eremin-Solenikov <redacted>
---
 drivers/pcmcia/pxa2xx_trizeps4.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/drivers/pcmcia/pxa2xx_trizeps4.c b/drivers/pcmcia/pxa2xx_trizeps4.c
index b7e5966..5bb4e1a 100644
--- a/drivers/pcmcia/pxa2xx_trizeps4.c
+++ b/drivers/pcmcia/pxa2xx_trizeps4.c
@@ -226,6 +226,9 @@ static int __init trizeps_pcmcia_init(void)
 {
 	int ret;
 
+	if (!machine_is_trizeps4() && !machine_is_trizeps4wl())
+		return -ENODEV;
+
 	trizeps_pcmcia_device = platform_device_alloc("pxa2xx-pcmcia", -1);
 	if (!trizeps_pcmcia_device)
 		return -ENOMEM;
-- 
1.7.2.3

[PATCH 6/6] Fix eseries compilation if w100fb is not compiled in kernel

From: Dmitry Eremin-Solenikov <hidden>
Date: 2011-01-05 02:05:10

e800_tg_change depends on w100fb_gpio_read/write API which is only present
if w100fb is compiled in kernel.

Signed-off-by: Dmitry Eremin-Solenikov <redacted>
Cc: Ian Molton <redacted>
---
 arch/arm/mach-pxa/eseries.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-pxa/eseries.c b/arch/arm/mach-pxa/eseries.c
index b25690c..ed2c157 100644
--- a/arch/arm/mach-pxa/eseries.c
+++ b/arch/arm/mach-pxa/eseries.c
@@ -829,6 +829,7 @@ static struct w100_mem_info e800_w100_mem_info = {
 
 static void e800_tg_change(struct w100fb_par *par)
 {
+#ifdef FB_W100
 	unsigned long tmp;
 
 	tmp = w100fb_gpio_read(W100_GPIO_PORT_A);
@@ -837,6 +838,7 @@ static void e800_tg_change(struct w100fb_par *par)
 	else
 		tmp &= ~0x100;
 	w100fb_gpio_write(W100_GPIO_PORT_A, tmp);
+#endif
 }
 
 static struct w100_tg_info e800_tg_info = {
-- 
1.7.2.3

[PATCH 1/6] i2c-pxa: move i2c_pxa_remove to __devexit instead of just __exit

From: Uwe Kleine-König <hidden>
Date: 2011-01-05 08:24:45

a bit of explanation would be nice here.  Something like:

	Subject: i2c-pxa: make sure the remove callback is called on unbind 

	When a "pxa2xx-i2c" device was unbound (e.g. via sysfs) the remove
	callback was not called because it was discarded after boot or module
	load time.  Because of that the resources allocated in probe were not
	freed and so a rebind was impossible.

	Fix that by moving the remove callback to .devexit.text.

This way everyone can understand that a real bug is fixed here.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[PATCH 6/6] Fix eseries compilation if w100fb is not compiled in kernel

From: Uwe Kleine-König <hidden>
Date: 2011-01-05 08:27:49

Hello Dmitry,

On Wed, Jan 05, 2011 at 05:05:10AM +0300, Dmitry Eremin-Solenikov wrote:
quoted hunk
e800_tg_change depends on w100fb_gpio_read/write API which is only present
if w100fb is compiled in kernel.

Signed-off-by: Dmitry Eremin-Solenikov <redacted>
Cc: Ian Molton <redacted>
---
 arch/arm/mach-pxa/eseries.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-pxa/eseries.c b/arch/arm/mach-pxa/eseries.c
index b25690c..ed2c157 100644
--- a/arch/arm/mach-pxa/eseries.c
+++ b/arch/arm/mach-pxa/eseries.c
@@ -829,6 +829,7 @@ static struct w100_mem_info e800_w100_mem_info = {
 
 static void e800_tg_change(struct w100fb_par *par)
 {
+#ifdef FB_W100
CONFIG_FB_W100?
quoted hunk
 	unsigned long tmp;
 
 	tmp = w100fb_gpio_read(W100_GPIO_PORT_A);
@@ -837,6 +838,7 @@ static void e800_tg_change(struct w100fb_par *par)
 	else
 		tmp &= ~0x100;
 	w100fb_gpio_write(W100_GPIO_PORT_A, tmp);
+#endif
What happens if FB_W100=m?  The code isn't compiled in, would it still
be necessary?

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[PATCH 1/6] i2c-pxa: move i2c_pxa_remove to __devexit instead of just __exit

From: Ben Dooks <hidden>
Date: 2011-01-05 09:19:15

On Wed, Jan 05, 2011 at 09:24:45AM +0100, Uwe Kleine-K?nig wrote:
a bit of explanation would be nice here.  Something like:

	Subject: i2c-pxa: make sure the remove callback is called on unbind 

	When a "pxa2xx-i2c" device was unbound (e.g. via sysfs) the remove
	callback was not called because it was discarded after boot or module
	load time.  Because of that the resources allocated in probe were not
	freed and so a rebind was impossible.

	Fix that by moving the remove callback to .devexit.text.

This way everyone can understand that a real bug is fixed here.
agreed, please re-submit

-- 
Ben Dooks, ben at fluff.org, http://www.fluff.org/ben/

Large Hadron Colada: A large Pina Colada that makes the universe disappear.

[PATCH 6/6] Fix eseries compilation if w100fb is not compiled in kernel

From: Uwe Kleine-König <hidden>
Date: 2011-01-05 10:54:04

Hello again,

On Wed, Jan 05, 2011 at 09:27:49AM +0100, Uwe Kleine-K?nig wrote:
Hello Dmitry,

On Wed, Jan 05, 2011 at 05:05:10AM +0300, Dmitry Eremin-Solenikov wrote:
quoted
e800_tg_change depends on w100fb_gpio_read/write API which is only present
if w100fb is compiled in kernel.

Signed-off-by: Dmitry Eremin-Solenikov <redacted>
Cc: Ian Molton <redacted>
---
 arch/arm/mach-pxa/eseries.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-pxa/eseries.c b/arch/arm/mach-pxa/eseries.c
index b25690c..ed2c157 100644
--- a/arch/arm/mach-pxa/eseries.c
+++ b/arch/arm/mach-pxa/eseries.c
@@ -829,6 +829,7 @@ static struct w100_mem_info e800_w100_mem_info = {
 
 static void e800_tg_change(struct w100fb_par *par)
 {
+#ifdef FB_W100
CONFIG_FB_W100?
quoted
 	unsigned long tmp;
 
 	tmp = w100fb_gpio_read(W100_GPIO_PORT_A);
@@ -837,6 +838,7 @@ static void e800_tg_change(struct w100fb_par *par)
 	else
 		tmp &= ~0x100;
 	w100fb_gpio_write(W100_GPIO_PORT_A, tmp);
+#endif
What happens if FB_W100=m?  The code isn't compiled in, would it still
be necessary?
did you see commit a74b74a5555c741ed3df896096e33b853995631e?

http://git.kernel.org/linus/a74b74a5555c741ed3df896096e33b853995631e

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[PATCH 6/6] Fix eseries compilation if w100fb is not compiled in kernel

From: Dmitry Eremin-Solenikov <hidden>
Date: 2011-01-05 11:17:44

2011/1/5 Uwe Kleine-K?nig [off-list ref]:
Hello again,

On Wed, Jan 05, 2011 at 09:27:49AM +0100, Uwe Kleine-K?nig wrote:
quoted
Hello Dmitry,

On Wed, Jan 05, 2011 at 05:05:10AM +0300, Dmitry Eremin-Solenikov wrote:
quoted
e800_tg_change depends on w100fb_gpio_read/write API which is only present
if w100fb is compiled in kernel.

Signed-off-by: Dmitry Eremin-Solenikov <redacted>
Cc: Ian Molton <redacted>
---
?arch/arm/mach-pxa/eseries.c | ? ?2 ++
?1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-pxa/eseries.c b/arch/arm/mach-pxa/eseries.c
index b25690c..ed2c157 100644
--- a/arch/arm/mach-pxa/eseries.c
+++ b/arch/arm/mach-pxa/eseries.c
@@ -829,6 +829,7 @@ static struct w100_mem_info e800_w100_mem_info = {
?static void e800_tg_change(struct w100fb_par *par)
?{
+#ifdef FB_W100
CONFIG_FB_W100?
quoted
? ? unsigned long tmp;

? ? tmp = w100fb_gpio_read(W100_GPIO_PORT_A);
@@ -837,6 +838,7 @@ static void e800_tg_change(struct w100fb_par *par)
? ? else
? ? ? ? ? ? tmp &= ~0x100;
? ? w100fb_gpio_write(W100_GPIO_PORT_A, tmp);
+#endif
What happens if FB_W100=m? ?The code isn't compiled in, would it still
be necessary?
did you see commit a74b74a5555c741ed3df896096e33b853995631e?
Missed it. Then this patch can be safely dropped :)
http://git.kernel.org/linus/a74b74a5555c741ed3df896096e33b853995631e

Best regards
Uwe

--
Pengutronix e.K. ? ? ? ? ? ? ? ? ? ? ? ? ? | Uwe Kleine-K?nig ? ? ? ? ? ?|
Industrial Linux Solutions ? ? ? ? ? ? ? ? | http://www.pengutronix.de/ ?|


-- 
With best wishes
Dmitry

[PATCH 1/6] i2c-pxa: move i2c_pxa_remove to __devexit instead of just __exit

From: Ben Dooks <hidden>
Date: 2011-01-05 12:17:31

On Wed, Jan 05, 2011 at 05:05:05AM +0300, Dmitry Eremin-Solenikov wrote:
Signed-off-by: Dmitry Eremin-Solenikov <redacted>
Cc: linux-i2c at vger.kernel.org
Cc: Ben Dooks <ben-linux@fluff.org>
Please write a reasonable commit message, a null or almost empty commit
message is simply unnaceptable. Please see the Documentation/SubmittingPatches
or ask more about how to write good commit messages.

Also, see Uwe's reply for a good example of how to write a commit message.
quoted hunk
-static int __exit i2c_pxa_remove(struct platform_device *dev)
+static int __devexit i2c_pxa_remove(struct platform_device *dev)
 {
 	struct pxa_i2c *i2c = platform_get_drvdata(dev);
 
@@ -1169,7 +1169,7 @@ static const struct dev_pm_ops i2c_pxa_dev_pm_ops = {
 
 static struct platform_driver i2c_pxa_driver = {
 	.probe		= i2c_pxa_probe,
-	.remove		= __exit_p(i2c_pxa_remove),
+	.remove		= __devexit_p(i2c_pxa_remove),
 	.driver		= {
 		.name	= "pxa2xx-i2c",
 		.owner	= THIS_MODULE,
Right, I think this should fix any hotplug problems that you have.

-- 
Ben Dooks, ben at fluff.org, http://www.fluff.org/ben/

Large Hadron Colada: A large Pina Colada that makes the universe disappear.

[PATCH] i2c-pxa: fix unbidding/rebidding of the device

From: Dmitry Eremin-Solenikov <hidden>
Date: 2011-01-06 11:01:22

When a "pxa2xx-i2c" device was unbound (e.g. via sysfs) the remove
callback was not called because it was discarded when linking the
kernel.  Because of that the resources allocated in probe were not
freed and so a clean unbind/rebind was impossible.

Fix that by moving the remove callback to .devexit.text.

Signed-off-by: Dmitry Eremin-Solenikov <redacted>
Cc: linux-i2c at vger.kernel.org
Cc: Ben Dooks <ben-linux@fluff.org>
---
 drivers/i2c/busses/i2c-pxa.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
index f4c19a9..0f10955 100644
--- a/drivers/i2c/busses/i2c-pxa.c
+++ b/drivers/i2c/busses/i2c-pxa.c
@@ -1115,7 +1115,7 @@ emalloc:
 	return ret;
 }
 
-static int __exit i2c_pxa_remove(struct platform_device *dev)
+static int __devexit i2c_pxa_remove(struct platform_device *dev)
 {
 	struct pxa_i2c *i2c = platform_get_drvdata(dev);
 
@@ -1169,7 +1169,7 @@ static const struct dev_pm_ops i2c_pxa_dev_pm_ops = {
 
 static struct platform_driver i2c_pxa_driver = {
 	.probe		= i2c_pxa_probe,
-	.remove		= __exit_p(i2c_pxa_remove),
+	.remove		= __devexit_p(i2c_pxa_remove),
 	.driver		= {
 		.name	= "pxa2xx-i2c",
 		.owner	= THIS_MODULE,
-- 
1.7.2.3

[PATCH] i2c-pxa: fix unbidding/rebidding of the device

From: Uwe Kleine-König <hidden>
Date: 2011-01-06 12:40:28

Hello

$Subject ~= s/bidd/bind/g

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[PATCH] i2c-pxa: fix unbinding/rebinding of the device

From: Dmitry Eremin-Solenikov <hidden>
Date: 2011-01-08 16:06:44

When a "pxa2xx-i2c" device was unbound (e.g. via sysfs) the remove
callback was not called because it was discarded when linking the
kernel.  Because of that the resources allocated in probe were not
freed and so a clean unbind/rebind was impossible.

Fix that by moving the remove callback to .devexit.text.

Signed-off-by: Dmitry Eremin-Solenikov <redacted>
Cc: linux-i2c at vger.kernel.org
Cc: Ben Dooks <ben-linux@fluff.org>
---
 drivers/i2c/busses/i2c-pxa.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
index f4c19a9..0f10955 100644
--- a/drivers/i2c/busses/i2c-pxa.c
+++ b/drivers/i2c/busses/i2c-pxa.c
@@ -1115,7 +1115,7 @@ emalloc:
 	return ret;
 }
 
-static int __exit i2c_pxa_remove(struct platform_device *dev)
+static int __devexit i2c_pxa_remove(struct platform_device *dev)
 {
 	struct pxa_i2c *i2c = platform_get_drvdata(dev);
 
@@ -1169,7 +1169,7 @@ static const struct dev_pm_ops i2c_pxa_dev_pm_ops = {
 
 static struct platform_driver i2c_pxa_driver = {
 	.probe		= i2c_pxa_probe,
-	.remove		= __exit_p(i2c_pxa_remove),
+	.remove		= __devexit_p(i2c_pxa_remove),
 	.driver		= {
 		.name	= "pxa2xx-i2c",
 		.owner	= THIS_MODULE,
-- 
1.7.2.3

[PATCH] i2c-pxa: fix unbinding/rebinding of the device

From: Uwe Kleine-König <hidden>
Date: 2011-01-08 16:18:28

On Sat, Jan 08, 2011 at 07:06:44PM +0300, Dmitry Eremin-Solenikov wrote:
When a "pxa2xx-i2c" device was unbound (e.g. via sysfs) the remove
callback was not called because it was discarded when linking the
kernel.  Because of that the resources allocated in probe were not
freed and so a clean unbind/rebind was impossible.

Fix that by moving the remove callback to .devexit.text.

Signed-off-by: Dmitry Eremin-Solenikov <redacted>
Acked-by: Uwe Kleine-K?nig <redacted>

Thanks
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[PATCH 1/6] i2c-pxa: move i2c_pxa_remove to __devexit instead of just __exit

From: ben-linux@fluff.org (Ben Dooks)
Date: 2011-01-08 17:42:05

On 05/01/11 02:05, Dmitry Eremin-Solenikov wrote:
Signed-off-by: Dmitry Eremin-Solenikov <redacted>
Cc: linux-i2c at vger.kernel.org
Cc: Ben Dooks <ben-linux@fluff.org>
---
this should be queued, and probably sent to Linus
at the end of the weekend.

[PATCH] i2c-pxa: fix unbinding/rebinding of the device

From: Dmitry Eremin-Solenikov <hidden>
Date: 2011-02-15 13:59:28

Hello, all

2011/1/8 Uwe Kleine-K?nig [off-list ref]:
On Sat, Jan 08, 2011 at 07:06:44PM +0300, Dmitry Eremin-Solenikov wrote:
quoted
When a "pxa2xx-i2c" device was unbound (e.g. via sysfs) the remove
callback was not called because it was discarded when linking the
kernel. ?Because of that the resources allocated in probe were not
freed and so a clean unbind/rebind was impossible.

Fix that by moving the remove callback to .devexit.text.

Signed-off-by: Dmitry Eremin-Solenikov <redacted>
Acked-by: Uwe Kleine-K?nig <redacted>
I see this patch is still not pushed to neither linus nor linux-next.
Should I put it into rmk's patch system? Or will it find it's way to main kernel
via other paths?
Thanks
Uwe

--
Pengutronix e.K. ? ? ? ? ? ? ? ? ? ? ? ? ? | Uwe Kleine-K?nig ? ? ? ? ? ?|
Industrial Linux Solutions ? ? ? ? ? ? ? ? | http://www.pengutronix.de/ ?|


-- 
With best wishes
Dmitry

[PATCH] i2c-pxa: fix unbinding/rebinding of the device

From: Uwe Kleine-König <hidden>
Date: 2011-02-15 16:23:23

On Tue, Feb 15, 2011 at 04:59:28PM +0300, Dmitry Eremin-Solenikov wrote:
Hello, all

2011/1/8 Uwe Kleine-K?nig [off-list ref]:
quoted
On Sat, Jan 08, 2011 at 07:06:44PM +0300, Dmitry Eremin-Solenikov wrote:
quoted
When a "pxa2xx-i2c" device was unbound (e.g. via sysfs) the remove
callback was not called because it was discarded when linking the
kernel. ?Because of that the resources allocated in probe were not
freed and so a clean unbind/rebind was impossible.

Fix that by moving the remove callback to .devexit.text.

Signed-off-by: Dmitry Eremin-Solenikov <redacted>
Acked-by: Uwe Kleine-K?nig <redacted>
I see this patch is still not pushed to neither linus nor linux-next.
Should I put it into rmk's patch system? Or will it find it's way to main kernel
via other paths?
rmk's patch system isn't the right place.  Ben needs to take it.  Ben?

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help