lkml.org 
[lkml]   [2006]   [Mar]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRE: [PATCH 2.6.15.3 1/1] ACPI: Atlas ACPI driver
    Date
    From

    >> I just found this:
    >> Device (SVG)
    >> Device (LCD)
    >> It looks too simple to fit video.c.
    >
    >I'm sorry but I'm confused. Do you mean that I shouldn't try to
    >support the brightness using the default video driver (ie: leave it as
    >a board specific driver because the board's ACPI implementation for
    >video support is insufficient) or did you mean that it will be easy
    >and simple to fit in video.c?

    I think video.c is NOT a right solution for your problem.

    >
    >> But it is quite easy to implement in hotkey.c.
    >> Because it has dedicated device with HID and ,
    >> well-known method name.
    >>
    >
    >I'm confused by hotkey here. I'm not sure how hotkey is involved here.

    hotkey.c provide a generic way to register well-known acpi device, and
    well-known methods that are mostly related to hotkey.

    >The Atlas board has no keys physically. It has buttons which are

    No differences between buttons and keys to me.

    >hooked up using the ASIM HID and that is what I am trying to support
    >since those physically exist on the board. Can you help me understand
    >how hotkey is involved in this?

    You have dedicated ACPI device and method for brightness control.
    So hotkey.c is the right place for support Device LCD.

    As for Device ASIM, I don't understand this code in your patch,
    Care to explain. It looks strange to me.

    +static acpi_status acpi_atlas_button_handler(u32 function,
    + acpi_physical_address address,
    + u32 bit_width, acpi_integer * value,
    + void *handler_context, void *region_context)
    +{
    + acpi_status status;
    + struct acpi_device *dev;
    +
    + dev = (struct acpi_device *) handler_context;
    + if (function == ACPI_WRITE)
    + status = acpi_bus_generate_event(dev, 0x80, address);
    + else {
    + printk(KERN_WARNING "atlas: shrugged on unexpected
    function"
    + ":function=%x,address=%x,value=%x\n",
    + function, (u32)address, (u32)*value);
    + status = -EINVAL;
    + }
    +
    + return status ;
    +}
    +
    +static int atlas_acpi_button_add(struct acpi_device *device)
    +{
    +
    + /* hookup button handler */
    + return acpi_install_address_space_handler(device->handle,
    + 0x81, &acpi_atlas_button_handler,
    + &acpi_atlas_button_setup, device);
    +}
    +
    -
    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: 2006-03-08 07:20    [W:0.034 / U:31.576 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site