Re: [PATCH v2 0/4] i2c: Support i2c_register_spd() on multiplexed bus segments

Heiner Kallweit
2024-02-21T19:46:03Z

On 21.02.2024 18:19, Wolfram Sang wrote:
> Hi Heiner,
>
>> Note: i801 creates the mux platform device, loading and probing of the
>> mux driver may be asynchronous. Therefore we can't call i2c_register_spd()
>> for the muxed segments from i801. Instead we have to add a flag to the
>> platform data, so that the mux driver knows it's supposed to call
>> i2c_register_spd().
>
> Has it been considered to use a bus_notifier and check for
> BUS_NOTIFY_BOUND_DRIVER?
>
> I'd really like to keep it inside i801 if possible. First, all these
> flags in mux drivers only for this corner case are relatively intrusive.
> Second, selecting SMBUS for I2C_MUX is also a tad too much for my taste.
>
Right, it's not as clean as I would like to have it.
So far I didn't see any other/better option.

> I understand that removing CLASS_SPD is a worthy goal. So, if all fails
> we could still try this. But I'd think with bus_notifiers it should be
> possible to keep it all in i801.
>
> Do you think this could work?
>
Thanks for the hint. I have to admit I wasn't aware of this option.
I'll check and will come back to you.

> Happy hacking,
>
> Wolfram
>
Heiner