Re: [PATCH 1/2] i2c: Add possibility for user-defined (i2c-)devicesfor bus-drivers.
From: Alexander Holler
Date: Wed Nov 14 2012 - 07:38:41 EST
Hello,
Am 14.11.2012 10:40, schrieb Jean Delvare:
It isn't possible to do such, because the only ID available for
i2c-busses is given them at runtime. So people have to live with that
imho artificially problem, if they use my patch. I don't have any other
solution until the numbering is predictable. But I assume you already
know all that, otherwise you wouldn't have mentioned it.
The problem is inherent to external, hot-plug I2C adapters. You can't
predict their bus number, and actually you can't even always predict
their name. In the case of usb-tiny-i2c, you may be able to look-up the
bus number from the adapter name, but you won't be able to always
differentiate between two adapters, if they are connected to paired USB
ports.
This is a design issue with the i2c-tiny-usb hardware in the first
place. If it is needed to differentiate between adapters, their would
need to be a locally unique ID in every adapter, which the kernel can
query. I suppose this was not deemed necessary at design time, as most
people will only connect one such adapter at a time to their system.
Actually many of the available USB devices (e.g. many usb-serials) don't
offer a unique ID by themself. That isn't just a problem of the
i2c-tiny-usb. But in contrast to other solutions, it shouldn't be very
hard to give those adapters a unique ID. As the whole SUB solution is
just software (and open source), one likely just would to write some
small piece of additional code.
I have already experienced this and yes, it is a pain. But I would
think that a system designed without a RTC in the first place has
another way of getting its time correct at boot time, for example NTP.
As I understand it the RTC chip is only there to set the system time at
boot, right, the actual timekeeping during run-time is still done by the
CPU?
Whatever those people which want to us it decide. If I didn't want to
help other people by offering them some small documentation about how to
build such theirself, I wouldn't have taken the usual and almost
unavoidable pain trying feed some silly patches into the kernel. ;)
Anyway, maybe Till Harbaum will like that solution and won't get blocked
by you. And maybe in some years we will see how many other bus-drivers
have adopted the same solution. In fact the in-driver solution was my
first one and I've thought others might be interested too, so I've moved
the few lines from the driver itself into the i2c-core before I sent the
patches. Unfortunately a waste of time.
Regards,
Alexander
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/