tq 2440

Russell King - ARM Linux linux at arm.linux.org.uk
Thu Jul 15 12:35:26 EDT 2010


On Thu, Jul 15, 2010 at 11:16:30PM +0800, Conke Hu wrote:
> ever notice to the following kernel log?
> "Device 's3c2440-nand' does not have a release() function, it is
> broken and must."
> release() function should be implemented  in the platform_device.

That's not telling you to provide a release function.  The warning is
telling you that a device is being unregistered which doesn't have a
release function.

Consider this point - maybe it doesn't have a release function because
it's not supposed to be unregistered?

> > ------------[ cut here ]------------
> > WARNING: at fs/sysfs/dir.c:463 sysfs_add_one+0x30/0x44()
> > sysfs: duplicate filename 'dm9000.0' can not be created

This is the cause of the problem.  You're registering two dm9000.0
devices.  That's illegal, and it then causes all these:

> > WARNING: at drivers/base/core.c:122 device_release+0x6c/0x78()
> > Device 's3c24xx_led.3' does not have a release() function, it is broken and mus.
> > WARNING: at drivers/base/core.c:122 device_release+0x6c/0x78()
> > Device 's3c24xx_led.2' does not have a release() function, it is broken and mus.
> > WARNING: at drivers/base/core.c:122 device_release+0x6c/0x78()
> > Device 's3c24xx_led.1' does not have a release() function, it is broken and mus.
> > WARNING: at drivers/base/core.c:122 device_release+0x6c/0x78()
> > Device 's3c24xx_led.0' does not have a release() function, it is broken and mus.
> > WARNING: at drivers/base/core.c:122 device_release+0x6c/0x78()
> > Device 's3c2440-nand' does not have a release() function, it is broken and must.
...

Fix the first problem (which is the real one) and you won't have these
other problems (which aren't actually a problem.)



More information about the linux-arm-kernel mailing list