lkml.org 
[lkml]   [2005]   [May]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subject[PATCH 2.6.12-rc4 1/15] (dynamic sysfs callbacks) device attribute callbacks - take 2
    Hi,

    The following patches implement dynamic sysfs callbacks for
    device_attribute, and provide a possible standard sensor attribute
    macro for the majority of the i2c sensor chip/hwmon drivers. Finally a
    patch against adm1026 shows how the patch can be used to reduce the
    footprint and clean up an existing driver.

    The new form of dynamic sysfs callback simply passes a reference to
    the device_attribute struct, instead of a void *, along the lines of
    the suggestion by Russell King (see
    http://lkml.org/lkml/2005/5/14/116). Embedding the device_attribute
    struct in a custom struct one can use a macro based on container_of to
    access the custom attribute specific data.

    Although functionally as capable as the void *, this solution I feel
    is better in that it rids of some error-prone casting, and the
    resulting code seems generally cleaner and easier to understand, there
    is also no need for the extra void * member in the base sysfs
    attribute. On the other hand a bit more work is required to implement
    this on a grand scale, and in many cases a new attribute struct might
    have to be defined for a driver, along with any convenience macros. My
    example patch implements a new attribute struct
    sensor_device_attribute that should be reusable by the majority of i2c
    chip drivers (as suggested by Greg).

    Signed-off-by: Yani Ioannou <yani.ioannou@gmail.com>

    Thanks,
    Yani
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-05-17 12:43    [W:0.022 / U:34.968 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site