Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Linux: Kernel

linux-next: mfd tree build failure

 

 

Linux kernel RSS feed   Index | Next | Previous | View Threaded


sfr at canb

Nov 22, 2009, 7:35 PM

Post #1 of 14 (295 views)
Permalink
linux-next: mfd tree build failure

Hi Samuel,

Today's linux-next build (x86_64 allmodconfig) failed like this:

drivers/power/pcf50633-charger.c: In function 'pcf50633_mbc_get_usb_online_status':
drivers/power/pcf50633-charger.c:147: error: 'struct pcf50633' has no member named 'mbc_pdev'

Caused by commit 4c2e3bacc050f0ebf884954bb007616c162564cd ("mfd: pcf50633
- fix error handling during probe") from the mfd tree interacting with
commit c329795052aa339850a45fab649ab97a36905136 ("pcf50633: Query charger
status directly") from the battery tree.

I have applied the following merge fixup patch and can carry it as
necessary.

From: Stephen Rothwell <sfr [at] canb>
Date: Mon, 23 Nov 2009 14:31:43 +1100
Subject: [PATCH] mfd: fix pcf50633-charger.c for fallout from merge

Signed-off-by: Stephen Rothwell <sfr [at] canb>
---
drivers/power/pcf50633-charger.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/power/pcf50633-charger.c b/drivers/power/pcf50633-charger.c
index d4a3e77..4e535bb 100644
--- a/drivers/power/pcf50633-charger.c
+++ b/drivers/power/pcf50633-charger.c
@@ -144,7 +144,8 @@ EXPORT_SYMBOL_GPL(pcf50633_mbc_get_status);

int pcf50633_mbc_get_usb_online_status(struct pcf50633 *pcf)
{
- struct pcf50633_mbc *mbc = platform_get_drvdata(pcf->mbc_pdev);
+ struct pcf50633_mbc *mbc =
+ platform_get_drvdata(pcf->pdevs[PCF50633_PDEV_ADC_IDX]);

if (!mbc)
return 0;
--
1.6.5.3

--
Cheers,
Stephen Rothwell sfr [at] canb
http://www.canb.auug.org.au/~sfr/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


sfr at canb

Nov 22, 2009, 7:41 PM

Post #2 of 14 (282 views)
Permalink
linux-next: mfd tree build failure [In reply to]

Hi Samuel,

Today's linux-next build (x86_64 allmodconfig) failed like this:

ERROR: "irq_to_desc" [drivers/mfd/wm831x.ko] undefined!
ERROR: "handle_edge_irq" [drivers/mfd/wm831x.ko] undefined!
ERROR: "set_irq_chip_and_handler" [drivers/mfd/wm831x.ko] undefined!
ERROR: "set_irq_noprobe" [drivers/mfd/wm831x.ko] undefined!

Probably caused by commit 8fc686c7369173519817f0cfbb2df9a3671d5b8d ("mfd:
Move WM831x to generic IRQ"). Maybe a Kconfig dependency is missing?

I have used the mfd tree from next-20091120 for today.
--
Cheers,
Stephen Rothwell sfr [at] canb
http://www.canb.auug.org.au/~sfr/


sfr at canb

Nov 22, 2009, 8:03 PM

Post #3 of 14 (279 views)
Permalink
Re: linux-next: mfd tree build failure [In reply to]

Hi Samuel,

On Mon, 23 Nov 2009 14:41:03 +1100 Stephen Rothwell <sfr [at] canb> wrote:
>
> Today's linux-next build (x86_64 allmodconfig) failed like this:
>
> ERROR: "irq_to_desc" [drivers/mfd/wm831x.ko] undefined!
> ERROR: "handle_edge_irq" [drivers/mfd/wm831x.ko] undefined!
> ERROR: "set_irq_chip_and_handler" [drivers/mfd/wm831x.ko] undefined!
> ERROR: "set_irq_noprobe" [drivers/mfd/wm831x.ko] undefined!
>
> Probably caused by commit 8fc686c7369173519817f0cfbb2df9a3671d5b8d ("mfd:
> Move WM831x to generic IRQ"). Maybe a Kconfig dependency is missing?

It actually looks as though set_irq_chip_and_handler (at least) is not
exported to modules.
--
Cheers,
Stephen Rothwell sfr [at] canb
http://www.canb.auug.org.au/~sfr/


sameo at linux

Nov 23, 2009, 4:26 AM

Post #4 of 14 (266 views)
Permalink
Re: linux-next: mfd tree build failure [In reply to]

Hi Dmitry,

On Mon, Nov 23, 2009 at 02:35:03PM +1100, Stephen Rothwell wrote:
> Hi Samuel,
>
> Today's linux-next build (x86_64 allmodconfig) failed like this:
>
> drivers/power/pcf50633-charger.c: In function 'pcf50633_mbc_get_usb_online_status':
> drivers/power/pcf50633-charger.c:147: error: 'struct pcf50633' has no member named 'mbc_pdev'
>
> Caused by commit 4c2e3bacc050f0ebf884954bb007616c162564cd ("mfd: pcf50633
> - fix error handling during probe") from the mfd tree interacting with
> commit c329795052aa339850a45fab649ab97a36905136 ("pcf50633: Query charger
> status directly") from the battery tree.
Could we split the above fix so that we get back to the:

struct platform_device *rtc_pdev;
struct platform_device *mbc_pdev;
struct platform_device *adc_pdev;
struct platform_device *input_pdev;
struct platform_device *regulator_pdev[PCF50633_NUM_REGULATORS];

structure ? We can move to the index based structure after the next merge
window. That would make my life easier in terms of tree dependencies.
If you dont have time to do this change, I'll do it some time this week.

Thanks in advance.

Cheers,
Samuel.


> I have applied the following merge fixup patch and can carry it as
> necessary.
>
> From: Stephen Rothwell <sfr [at] canb>
> Date: Mon, 23 Nov 2009 14:31:43 +1100
> Subject: [PATCH] mfd: fix pcf50633-charger.c for fallout from merge
>
> Signed-off-by: Stephen Rothwell <sfr [at] canb>
> ---
> drivers/power/pcf50633-charger.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/power/pcf50633-charger.c b/drivers/power/pcf50633-charger.c
> index d4a3e77..4e535bb 100644
> --- a/drivers/power/pcf50633-charger.c
> +++ b/drivers/power/pcf50633-charger.c
> @@ -144,7 +144,8 @@ EXPORT_SYMBOL_GPL(pcf50633_mbc_get_status);
>
> int pcf50633_mbc_get_usb_online_status(struct pcf50633 *pcf)
> {
> - struct pcf50633_mbc *mbc = platform_get_drvdata(pcf->mbc_pdev);
> + struct pcf50633_mbc *mbc =
> + platform_get_drvdata(pcf->pdevs[PCF50633_PDEV_ADC_IDX]);
>
> if (!mbc)
> return 0;
> --
> 1.6.5.3
>
> --
> Cheers,
> Stephen Rothwell sfr [at] canb
> http://www.canb.auug.org.au/~sfr/

--
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 [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


sameo at linux

Nov 23, 2009, 4:29 AM

Post #5 of 14 (264 views)
Permalink
Re: linux-next: mfd tree build failure [In reply to]

Hi Stephen,

On Mon, Nov 23, 2009 at 03:03:46PM +1100, Stephen Rothwell wrote:
> Hi Samuel,
>
> On Mon, 23 Nov 2009 14:41:03 +1100 Stephen Rothwell <sfr [at] canb> wrote:
> >
> > Today's linux-next build (x86_64 allmodconfig) failed like this:
> >
> > ERROR: "irq_to_desc" [drivers/mfd/wm831x.ko] undefined!
> > ERROR: "handle_edge_irq" [drivers/mfd/wm831x.ko] undefined!
> > ERROR: "set_irq_chip_and_handler" [drivers/mfd/wm831x.ko] undefined!
> > ERROR: "set_irq_noprobe" [drivers/mfd/wm831x.ko] undefined!
> >
> > Probably caused by commit 8fc686c7369173519817f0cfbb2df9a3671d5b8d ("mfd:
> > Move WM831x to generic IRQ"). Maybe a Kconfig dependency is missing?
>
> It actually looks as though set_irq_chip_and_handler (at least) is not
> exported to modules.
True. Mark, I think we should get those symbols exported, unless you have a
better idea ? Having wm831x as a boolean choice from Kconfig doesnt sound too
god to me.

Cheers,
Samuel.


> --
> Cheers,
> Stephen Rothwell sfr [at] canb
> http://www.canb.auug.org.au/~sfr/



--
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 [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


broonie at opensource

Nov 23, 2009, 5:11 AM

Post #6 of 14 (264 views)
Permalink
Re: linux-next: mfd tree build failure [In reply to]

On Mon, Nov 23, 2009 at 01:29:04PM +0100, Samuel Ortiz wrote:

> True. Mark, I think we should get those symbols exported, unless you have a
> better idea ? Having wm831x as a boolean choice from Kconfig doesnt sound too
> god to me.

I don't see getting them exported flying, especially not in the
timeframe we've got for the merge window. Keeping them non-exported has
been a deliberate decision on the part of the genirq maintainers. I'll
send a patch making it built in.

Given the typical applications for these parts building the driver in
isn't the end of the world - there's a reasonable chance it'll be forced
built in for other reasons due to device-specific configuration.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


sameo at linux

Nov 23, 2009, 6:44 AM

Post #7 of 14 (265 views)
Permalink
Re: linux-next: mfd tree build failure [In reply to]

On Mon, Nov 23, 2009 at 01:11:13PM +0000, Mark Brown wrote:
> On Mon, Nov 23, 2009 at 01:29:04PM +0100, Samuel Ortiz wrote:
>
> > True. Mark, I think we should get those symbols exported, unless you have a
> > better idea ? Having wm831x as a boolean choice from Kconfig doesnt sound too
> > god to me.
>
> I don't see getting them exported flying, especially not in the
> timeframe we've got for the merge window. Keeping them non-exported has
> been a deliberate decision on the part of the genirq maintainers.
Out of curiosity, what's the reasoning behind thatdecision ?

> I'll send a patch making it built in.
Thanks, patch applied.

Cheers,
Samuel.


> Given the typical applications for these parts building the driver in
> isn't the end of the world - there's a reasonable chance it'll be forced
> built in for other reasons due to device-specific configuration.

--
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 [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


broonie at opensource

Nov 23, 2009, 7:20 AM

Post #8 of 14 (266 views)
Permalink
Re: linux-next: mfd tree build failure [In reply to]

On Mon, Nov 23, 2009 at 03:44:14PM +0100, Samuel Ortiz wrote:
> On Mon, Nov 23, 2009 at 01:11:13PM +0000, Mark Brown wrote:

> > I don't see getting them exported flying, especially not in the
> > timeframe we've got for the merge window. Keeping them non-exported has
> > been a deliberate decision on the part of the genirq maintainers.

> Out of curiosity, what's the reasoning behind thatdecision ?

Unless you're actually implementing an interrupt controller those APIs
should never be called and people should be using flags on request_irq()
or similar. Driver authors have been awfully fond of bypassing those
APIs, but this prevents them doing so.

None of this is really a practical issue unless you implement an IRQ
controller in a driver and that's very rare (or has been up until now).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


dmitry.torokhov at gmail

Nov 23, 2009, 8:32 AM

Post #9 of 14 (265 views)
Permalink
Re: linux-next: mfd tree build failure [In reply to]

Hi Samuel,

On Mon, Nov 23, 2009 at 01:26:07PM +0100, Samuel Ortiz wrote:
> Hi Dmitry,
>
> On Mon, Nov 23, 2009 at 02:35:03PM +1100, Stephen Rothwell wrote:
> > Hi Samuel,
> >
> > Today's linux-next build (x86_64 allmodconfig) failed like this:
> >
> > drivers/power/pcf50633-charger.c: In function 'pcf50633_mbc_get_usb_online_status':
> > drivers/power/pcf50633-charger.c:147: error: 'struct pcf50633' has no member named 'mbc_pdev'
> >
> > Caused by commit 4c2e3bacc050f0ebf884954bb007616c162564cd ("mfd: pcf50633
> > - fix error handling during probe") from the mfd tree interacting with
> > commit c329795052aa339850a45fab649ab97a36905136 ("pcf50633: Query charger
> > status directly") from the battery tree.
> Could we split the above fix so that we get back to the:
>
> struct platform_device *rtc_pdev;
> struct platform_device *mbc_pdev;
> struct platform_device *adc_pdev;
> struct platform_device *input_pdev;
> struct platform_device *regulator_pdev[PCF50633_NUM_REGULATORS];
>
> structure ? We can move to the index based structure after the next merge
> window. That would make my life easier in terms of tree dependencies.
> If you dont have time to do this change, I'll do it some time this week.
>

Please feel free to drop or reschedule the patch as you see fit. I don't
have any problem if it will go in later.

Thanks.

--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


sfr at canb

Nov 23, 2009, 9:37 PM

Post #10 of 14 (261 views)
Permalink
linux-next: mfd tree build failure [In reply to]

Hi Samuel,

Today's linux-next build (x86_64 allmodconfig) failed like this:

drivers/built-in.o: In function `wm831x_i2c_remove':
wm831x-core.c:(.text+0xd108b): undefined reference to `mfd_remove_devices'
drivers/built-in.o: In function `wm831x_i2c_write_device':
wm831x-core.c:(.text+0xd119c): undefined reference to `i2c_master_send'
drivers/built-in.o: In function `wm831x_i2c_read_device':
wm831x-core.c:(.text+0xd1208): undefined reference to `i2c_master_send'
wm831x-core.c:(.text+0xd1237): undefined reference to `i2c_master_recv'
drivers/built-in.o: In function `wm831x_i2c_probe':
wm831x-core.c:(.text+0xd2099): undefined reference to `mfd_add_devices'
wm831x-core.c:(.text+0xd20cd): undefined reference to `mfd_add_devices'
wm831x-core.c:(.text+0xd2105): undefined reference to `mfd_add_devices'
wm831x-core.c:(.text+0xd2139): undefined reference to `mfd_add_devices'
wm831x-core.c:(.text+0xd21dd): undefined reference to `mfd_add_devices'
wm831x-core.c:(.text+0xd22c3): undefined reference to `mfd_remove_devices'
drivers/built-in.o: In function `wm831x_i2c_init':
wm831x-core.c:(.init.text+0xae6b): undefined reference to `i2c_register_driver'
drivers/built-in.o: In function `wm831x_i2c_exit':
wm831x-core.c:(.exit.text+0x522): undefined reference to `i2c_del_driver'

Caused by commit 4f7231a3ff624ad8a0fdace424b10a8b262071cf ("mfd: Don't
allow wm831x to be built as a module"). CONFIG_MFD_CORE is "m" and
CONFIG_I2C is "m" while CONFIG_MFD_WM831X is "y". "select" is a real
problem :-(

I have used the version of the mfd tree from next-20091120 for today.
--
Cheers,
Stephen Rothwell sfr [at] canb
http://www.canb.auug.org.au/~sfr/


broonie at opensource

Nov 24, 2009, 1:57 AM

Post #11 of 14 (264 views)
Permalink
Re: linux-next: mfd tree build failure [In reply to]

On Tue, Nov 24, 2009 at 04:37:53PM +1100, Stephen Rothwell wrote:

> drivers/built-in.o: In function `wm831x_i2c_remove':
> wm831x-core.c:(.text+0xd108b): undefined reference to `mfd_remove_devices'
> drivers/built-in.o: In function `wm831x_i2c_write_device':
> wm831x-core.c:(.text+0xd119c): undefined reference to `i2c_master_send'
> drivers/built-in.o: In function `wm831x_i2c_read_device':
> wm831x-core.c:(.text+0xd1208): undefined reference to `i2c_master_send'
> wm831x-core.c:(.text+0xd1237): undefined reference to `i2c_master_recv'

> Caused by commit 4f7231a3ff624ad8a0fdace424b10a8b262071cf ("mfd: Don't
> allow wm831x to be built as a module"). CONFIG_MFD_CORE is "m" and
> CONFIG_I2C is "m" while CONFIG_MFD_WM831X is "y". "select" is a real
> problem :-(

There's something more seriously wrong than the select with your config
here - the driver depends on (rather than selecting) I2C and you're also
seeing undefined references to the I2C API. The select on MFD_CORE
should also be forcing that to be built in (it does normally).

Could you please post the actual configuration you're using? I suspect
some Kbuild bug has been triggered here...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


sfr at canb

Nov 24, 2009, 2:14 AM

Post #12 of 14 (264 views)
Permalink
Re: linux-next: mfd tree build failure [In reply to]

Hi Mark,

On Tue, 24 Nov 2009 09:57:16 +0000 Mark Brown <broonie [at] opensource> wrote:
>
> There's something more seriously wrong than the select with your config
> here - the driver depends on (rather than selecting) I2C and you're also
> seeing undefined references to the I2C API. The select on MFD_CORE
> should also be forcing that to be built in (it does normally).
>
> Could you please post the actual configuration you're using? I suspect
> some Kbuild bug has been triggered here...

Sorry, I don't have the actual config (as I overwrite my build directory
between each merge). However, if I checkout the mfd tree (alone -
nothing else in linux-next) and do "make ARCH=x86_64 allmodconfig", I get
the following in my .config:

CONFIG_I2C=m
CONFIG_MFD_CORE=m
CONFIG_MFD_WM831X=y

--
Cheers,
Stephen Rothwell sfr [at] canb
http://www.canb.auug.org.au/~sfr/


broonie at opensource

Nov 24, 2009, 2:40 AM

Post #13 of 14 (260 views)
Permalink
Re: linux-next: mfd tree build failure [In reply to]

On Tue, Nov 24, 2009 at 09:14:33PM +1100, Stephen Rothwell wrote:

> Sorry, I don't have the actual config (as I overwrite my build directory
> between each merge). However, if I checkout the mfd tree (alone -
> nothing else in linux-next) and do "make ARCH=x86_64 allmodconfig", I get
> the following in my .config:

> CONFIG_I2C=m
> CONFIG_MFD_CORE=m
> CONFIG_MFD_WM831X=y

Oh, fail. This is nothing to do with select, it's to do with bool.
Kbuild doesn't propagate the dependency from the boolean (which makes
sense for a lot of uses but not for this one). The current "fix" used
by other drivers in the same situation is to depend on I2C=y which works
but means that we loose build coverage from allmodconfig. I'll post a
patch for this shortly.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


sameo at linux

Nov 24, 2009, 3:35 PM

Post #14 of 14 (258 views)
Permalink
Re: linux-next: mfd tree build failure [In reply to]

Hi Dmitry

On Mon, Nov 23, 2009 at 08:32:11AM -0800, Dmitry Torokhov wrote:
> > Could we split the above fix so that we get back to the:
> >
> > struct platform_device *rtc_pdev;
> > struct platform_device *mbc_pdev;
> > struct platform_device *adc_pdev;
> > struct platform_device *input_pdev;
> > struct platform_device *regulator_pdev[PCF50633_NUM_REGULATORS];
> >
> > structure ? We can move to the index based structure after the next merge
> > window. That would make my life easier in terms of tree dependencies.
> > If you dont have time to do this change, I'll do it some time this week.
> >
>
> Please feel free to drop or reschedule the patch as you see fit. I don't
> have any problem if it will go in later.
Yes, I'll requeue your patchset after the next merge window is closed.
Thanks for your understanding.

Cheers,
Samuel.

--
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 [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Linux kernel RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.