Re: [linux-next:master 11606/12643] arm-linux-gnueabi-ld: arch/arm/mach-pxa/devices.o:undefined reference to `gpio_set_wake'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jul 13, 2024, at 05:38, Dmitry Torokhov wrote:
> On Fri, Jul 12, 2024 at 08:41:58AM +0200, Arnd Bergmann wrote:
>> On Fri, Jul 12, 2024, at 07:31, Dmitry Torokhov wrote:
>> > @@ -684,6 +685,7 @@ struct platform_device pxa27x_device_gpio = {
>> >  		.platform_data	= &pxa2xx_gpio_info,
>> >  	},
>> >  };
>> > +#endif /* CONFIG_PXA25x || CONFIG_PXA27x */
>> > 
>> >  static struct resource pxa_dma_resource[] = {
>> >  	[0] = {
>> >
>> > If you are OK with this I'll submit proper patch.
>> 
>> Right, that's probably the easiest way. I was trying a more
>> elaborate change (see below), but there is a good chance I
>> introduce another regression in that, so let's go with
>> your patch. Please send it directly to soc@xxxxxxxxxx
>> Cc:linux-arm-kernel and I'll pick it up.
>
> Done.

Merged now in preparation for my pull requests, thanks!

>> One more thing I noticed: if you are doing more patches
>> to convert devices in board files to use software nodes,
>> we should probably try to move them away from static
>> platform_device definitions towards a dynamic
>> platform_device_register_simple() or similar interface
>> at the same time.
>
> Sometimes platform_device_register_full() which operates on
> platform_device_info structure is very handy, but in general
> what is the issue with statically defined devices (when they
> are never unregistered)?

Greg has been asking for this for many years, but it has
been unrealistic in the past because of the large number
of board files using static platform devices. As far as I
understand it, having static platform devices prevents us
from better enforcing lifetime management rules on device
objects. Adding Greg to Cc in case he has something to add.

The other point of course is static memory usage: a platform
device structure in .data is much larger than a
platform_device_info, and this adds up in a kernel that
tries to support lots of boards.

     Arnd




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux