07 Feb, 2008

1 commit


10 Oct, 2007

1 commit

  • Three main sets of changes:

    1) dmi_get_system_info() return value should have been marked const,
    since callers should not be changing that data.

    2) const-ify DMI internals, since DMI firmware tables should,
    whenever possible, be marked const to ensure we never ever write to
    that data area.

    3) const-ify DMI API, to enable marking tables const where possible
    in low-level drivers.

    And if we're really lucky, this might enable some additional
    optimizations on the part of the compiler.

    The bulk of the changes are #2 and #3, which are interrelated. #1 could
    have been a separate patch, but it was so small compared to the others,
    it was easier to roll it into this changeset.

    Signed-off-by: Jeff Garzik

    Jeff Garzik
     

29 Aug, 2007

1 commit


12 Jul, 2007

1 commit

  • The patch below adds DMI/SMBIOS based module autoloading to the Linux
    kernel. The idea is to load laptop drivers automatically (and other
    drivers which cannot be autoloaded otherwise), based on the DMI system
    identification information of the BIOS.

    Right now most distros manually try to load all available laptop
    drivers on bootup in the hope that at least one of them loads
    successfully. This patch does away with all that, and uses udev to
    automatically load matching drivers on the right machines.

    Basically the patch just exports the DMI information that has been
    parsed by the kernel anyway to userspace via a sysfs device
    /sys/class/dmi/id and makes sure that proper modalias attributes are
    available. Besides adding the "modalias" attribute it also adds
    attributes for a few other DMI fields which might be useful for
    writing udev rules.

    This patch is not an attempt to export the entire DMI/SMBIOS data to
    userspace. We already have "dmidecode" which parses the complete DMI
    info from userspace. The purpose of this patch is machine model
    identification and good udev integration.

    To take advantage of DMI based module autoloading, a driver should
    export one or more MODULE_ALIAS fields similar to these:

    MODULE_ALIAS("dmi:*:svnMICRO-STARINT'LCO.,LTD:pnMS-1013:pvr0131*:cvnMICRO-STARINT'LCO.,LTD:ct10:*");
    MODULE_ALIAS("dmi:*:svnMicro-StarInternational:pnMS-1058:pvr0581:rvnMSI:rnMS-1058:*:ct10:*");
    MODULE_ALIAS("dmi:*:svnMicro-StarInternational:pnMS-1412:*:rvnMSI:rnMS-1412:*:cvnMICRO-STARINT'LCO.,LTD:ct10:*");
    MODULE_ALIAS("dmi:*:svnNOTEBOOK:pnSAM2000:pvr0131*:cvnMICRO-STARINT'LCO.,LTD:ct10:*");

    These lines are specific to my msi-laptop.c driver. They are basically
    just a concatenation of a few carefully selected DMI fields with all
    potentially bad characters stripped.

    Besides laptop drivers, modules like "hdaps", the i2c modules
    and the hwmon modules are good candidates for "dmi:" MODULE_ALIAS
    lines.

    Besides merely exporting the DMI data via sysfs the patch adds
    support for a few more DMI fields. Especially the CHASSIS fields are
    very useful to identify different laptop modules. The patch also adds
    working MODULE_ALIAS lines to my msi-laptop.c driver.

    I'd like to thank Kay Sievers for helping me to clean up this patch
    for posting it on lkml.

    Patch is against Linus' current GIT HEAD. Should probably apply to
    older kernels as well without modification.

    Signed-off-by: Lennart Poettering
    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Lennart Poettering
     

10 May, 2007

1 commit

  • The ACPI EC that is used in MSI laptops knows some non-standard
    commands for changing the screen brighntess and a few other things,
    which are used by the msi-laptop.c driver. Unfortunately for these
    commands no GPE events for IBF and OBF are triggered. Since nowadays
    the EC code uses the ec_intr=1 mode by default, this causes these
    operations to timeout, although they don't fail. In result, all
    operations that you can do with the msi-laptop.c driver take more or
    less 1s to complete, which is awfully slow.

    In one of the more recent kernels (2.6.20?) the EC subsystem has been
    revamped. With that change the EC timeout has been increased. before
    that increase the MSI EC accesses were slow -- but not *that* slow,
    hence I took notice of this limitation of the MSI EC hardware only very
    recently.

    The standard EC operations on the MSI EC as defined in the ACPI spec
    support GPE events properly.

    The following patch adds a new argument "force_poll" to the
    ec_transaction() function (and friends). If set to 1, the function
    will poll for IBF/OBF even if ec_intr=1 is enabled. If set to 0 the
    current behaviour is used. The msi-laptop driver is modified to make
    use of this new flag, so that OBF/IBF is polled for the special MSI EC
    transactions -- but only for them.

    Signed-off-by: Lennart Poettering
    Acked-by: Alexey Starikovskiy
    Signed-off-by: Len Brown

    Lennart Poettering
     

20 Feb, 2007

2 commits


20 Dec, 2006

1 commit

  • This patch set adds generic abstract layer support for acpi video driver to
    have generic user interface to control backlight and output switch control by
    leveraging the existing backlight sysfs class driver, and by adding a new
    video output sysfs class driver.

    This patch:

    Add dev argument for backlight_device_register to link the class device to
    real device object. The platform specific driver should find a way to get the
    real device object for their video device.

    [akpm@osdl.org: build fix]
    [akpm@osdl.org: fix msi-laptop.c]
    Signed-off-by: Luming Yu
    Cc: "Antonino A. Daplas"
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Yu Luming
     

14 Oct, 2006

1 commit

  • Create a driver to support the platform-specific features
    of MSI S270 laptops (and maybe other MSI laptops).
    This driver implements a backlight device for controlling LCD brightness
    (/sys/class/backlight/msi-laptop-bl/).
    In addition it allows access to the WLAN and Bluetooth states
    through a platform driver (/sys/devices/platform/msi-laptop-pf/).

    Signed-off-by: Lennart Poettering
    Cc: Dmitry Torokhov
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Lennart Poettering