On Sun, Oct 12, 2014 at 8:06 PM, Guenter Roeck <linux@xxxxxxxxxxxx> wrote: > On Sun, Oct 12, 2014 at 12:32:56PM +0300, Octavian Purdila wrote: >> On Sat, Oct 11, 2014 at 11:14 PM, Mark Roszko <mark.roszko@xxxxxxxxx> wrote: >> >> > This seems limiting to arches with peripherals that can support a range of >> > frequencies rather than fixed numbers. >> > Also it creates some portability quirkiness between platforms when all the >> > i2c bus drivers have different supported freq lists and you have to match >> > exactly the right frequency. I.e. one guy does 60khz but another only has >> > 80khz. >> >> Sorry, I don't understand your points here. If this limitations exists >> they are not introduced by this patch. This patch just exposes the >> frequency so that it can be read or changed in userspace. >> >> > Another issue is in systems where you have i2c devices on the same bus as >> > the sysfs user space driver. User space could set a bus frequency that >> > prevents operation with a system i2c device. >> >> Changing the frequency is limited to root. Also, bus drivers do not >> have to implement set_freq if it is thought not to be safe. >> >> On a different not, I have noticed that a fixed set of frequencies >> might not be the best API, since multiple drivers rather support a >> rather large set of frequencies in a range. A better API might be to >> expose a min-max range and let the bus driver adjust the requested >> frequency. I will follow up with a second version that does that. > > As two separate sysfs attributes, maybe ? sysfs is supposed to provide > one value per attribute. > Yes, I was thinking of using three attributes: bus_frequency, bus_min_frequency and bus_max_frequency. > For the patch itself, I would find it better if you used is_visible to > determine if the new attributes should be visible (and/or writable) instead > of returning -EOPNOTSUPP. > OK, that sounds better. I will switch to that model in v2. -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html