Re: [PATCH] i2c: mux: create proper topology in sysfs

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

 



On Mon, Nov 03, 2014 at 10:02:00PM +0100, Wolfram Sang wrote:
> > > +	WARN(sysfs_create_link(&parent->dev.kobj, &priv->adap.dev.kobj, priv->adap.dev.kobj.name),
> > > +				"can't create compatibility link for old mux name scheme\n");
> > > +
> > Something seems to be wrong with the linking.
> > 
> > I get lots of messages such as
> > 
> > sysfs: cannot create duplicate filename
> > '/devices/fff70a000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/0000:02:09.0/0000:10:00.0/i2c-sam.16/i2c-88/i2c-89'
> > 
> > followed by "can't create compatibility link for old mux name scheme".
> 
> What is your muxing setup?
> 
Complicated ;-).

There are really various muxes. The one above is a multi-function FPGA connected
to a PCIe bus. The FPGA core has up to 8 i2c controllers. Each of those controllers
supports up to 8 mux channels, for a total of up to 64 virtual i2c adapters.

There are also gpio based muxes in the same system, only they are not
'simple' gpio muxes where 1 pin matches 1 channel, but complex ones where
the channel is determined by a three-bit value followed by an 8-bit mask
(so there can be up to 64 mux channels on a single adapter).

Plus of course there are some pca9548 and pca9546 based multiplexers.

This is all mixed with gpio based bus master selectors permitting access from
different boards. The overall architecture is so complex that it is actually
possible to configure the i2c bus in circles (bus master selector to mux to
another mux back to the other channel of the bus master selector).

Just don't ask me who came up with that architecture ;-)

I'll add some debugging to try to find out why the symlinks don't work.

Guenter
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux