Thread (10 messages) flat view 10 messages, 4 authors, 2005-06-13

Re: MPC52xx: sysfs failure on adding new device driver

From: Sylvain Munaut <hidden>
Date: 2005-06-09 11:28:24

Grant Likely wrote:
I'm working on an MPC52xx SPI device driver using one of the PSC. 
However, when I call driver_register() I get a failure (-17, EEXISTS)
with a traceback (posted below).

I've tracked it down to failing when trying to create a sysfs entry
for the driver.  It fails because sysfs tries to create a directory
that already exists (mpc52xx_psc).  The directory was already created
when the psc serial port device driver was registered.
quoted
From what I can tell, I should be able to register more than one
driver for a particular device name (mpc52xx_psc).
I always assumed that yes.
But now looking more closely, I'm not sure what I based that assumption 
on ... And if not the case that's indeed a problem because that's what's 
used to support the different function supported by the PSCs.
Otherwise I would
need to change arch/ppc/syslib/mpc52xx_devices.c to have a different
name for each psc.
No you shouldn't have to touch that. The
mpc52xx_match_psc_function(idx, "spi") is there to know which driver 
should be used for what PSC and you're using it correctly so it _should_ 
work.
If I change the sysfs code to ignore the failure
to create a directory then the driver seems to register fine.
A "better" quick-fix would be to change the platform_match 
(drivers/platform.c) to support "sub-fonctions". For example when using
mpc52xx_psc.spi it only matches what's before the dot (if any) with the 
device name.

That changes the semantic of the driver names for the platform bus 
however, making the dot a "special" char.




	Sylvain
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help