13 Oct, 2007

3 commits

  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (75 commits)
    PM: merge device power-management source files
    sysfs: add copyrights
    kobject: update the copyrights
    kset: add some kerneldoc to help describe what these strange things are
    Driver core: rename ktype_edd and ktype_efivar
    Driver core: rename ktype_driver
    Driver core: rename ktype_device
    Driver core: rename ktype_class
    driver core: remove subsystem_init()
    sysfs: move sysfs file poll implementation to sysfs_open_dirent
    sysfs: implement sysfs_open_dirent
    sysfs: move sysfs_dirent->s_children into sysfs_dirent->s_dir
    sysfs: make sysfs_root a regular directory dirent
    sysfs: open code sysfs_attach_dentry()
    sysfs: make s_elem an anonymous union
    sysfs: make bin attr open get active reference of parent too
    sysfs: kill unnecessary NULL pointer check in sysfs_release()
    sysfs: kill unnecessary sysfs_get() in open paths
    sysfs: reposition sysfs_dirent->s_mode.
    sysfs: kill sysfs_update_file()
    ...

    Linus Torvalds
     
  • Prefix platform modalias strings with "platform:", which
    modprobe config to blacklist alias resolving if userspace
    configures it.

    Send uevents for all platform devices.

    Add MODULE_ALIAS's to: pxa2xx_pcmcia, ds1742 and pcspkr to trigger
    module autoloading by userspace.

    $ modinfo pcspkr
    alias: platform:pcspkr
    license: GPL
    description: PC Speaker beeper driver
    ...

    $ modprobe -n -v platform:pcspkr
    insmod /lib/modules/2.6.23-rc3-g28e8351a-dirty/kernel/drivers/input/misc/pcspkr.ko

    Signed-off-by: Kay Sievers
    Cc: David Brownell
    Cc: Atsushi Nemoto
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     
  • Useless header file with 32 bit and 64 bit variants. Move the
    single useful line to the place where it is used.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar
    Signed-off-by: Arjan van de Ven

    Thomas Gleixner
     

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
     

23 Aug, 2007

1 commit

  • Introduce CONFIG_CHECK_SIGNATURE to control inclusion of check_signature()
    and avoid problems on platforms that don't have readb().

    Let the few legacy (ISA || PCI || X86) drivers that need check_signature()
    select CONFIG_CHECK_SIGNATURE.

    Signed-off-by: Geert Uytterhoeven
    Cc: Jeff Dike
    Cc: Heiko Carstens
    Cc: Roman Zippel
    Cc: Alan Cox
    Cc: Martin Schwidefsky
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     

24 Jul, 2007

1 commit


22 Jul, 2007

1 commit

  • Replace the pcspkr private PIT lock by the global PIT lock to serialize the
    PIT access all over the place.

    Signed-off-by: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: Dmitry Torokhov
    Signed-off-by: Andrew Morton
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     

10 Jul, 2007

4 commits

  • Implement getkeycode and setkeycode methods for the device so
    EVIOCGKEYCODE and EVIOCSKEYCODE ioctls will work.

    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • Switch to using input-polldev skeleton instead of implementing
    polling loop by itself.

    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • Add support to wistron_btns for leds that come with the multimedia keys.
    Mail and wifi leds are supported, on laptops which have them.

    Depending on the laptop, wifi subsystem may control just the led, or both
    the led and the wifi card. Wifi led interface is activated only for the
    former type of laptops, as the latter type is already managed. Leds are
    controled by the interface in /sys/class/leds.

    Signed-off-by: Eric Piel
    Signed-off-by: Andrew Morton
    Signed-off-by: Dmitry Torokhov

    Eric Piel
     
  • Reduces the polling frequency from 10 Hz to 2 Hz, which should be less a burden
    for laptops wrt energy saving. As it is multimedia keys, 500ms (maximum) of
    latency should be still fine for the user. In order to keep fluent the feeling
    when the user is pressing several keys in a raw (such as changing the volume),
    the frequency is increased for a short duration after a key is pressed.

    Signed-off-by: Eric Piel
    Signed-off-by: Dmitry Torokhov

    Eric Piel
     

14 Jun, 2007

1 commit


13 Jun, 2007

1 commit

  • To work around deficiences in Kconfig that allows to "select"
    a symbol without automatically selecting all dependencies for
    that symbol move input-polldev from drivers/input/misc to
    drivers/input thus removing extra dependency on CONFIG_INPUT_MISC.

    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     

23 May, 2007

2 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: ads7846 - SPI_CPHA mode bugfix
    Input: ads7846 - document that it handles tsc2046 too
    Input: input-polldev - add module info
    Input: ucb1x00-ts - remove commented out code
    Input: ucb1400_ts - use sched_setscheduler()
    Input: ALPS - force stream mode
    Input: iforce - minor clean-ups
    Input: iforce - fix force feedback not working
    Input: adbhid - do not access input_dev->private directly
    Input: logips2pp - add type 72 (PS/2 TrackMan Marble)

    Linus Torvalds
     
  • This is required to load it as a module, as GPL-compatible
    license is necessary to use workqueues.

    Signed-off-by: Eric Piel
    Signed-off-by: Dmitry Torokhov

    Eric Piel
     

16 May, 2007

1 commit


11 May, 2007

1 commit

  • drivers/input/misc/ixp4xx-beeper.c: In function 'ixp4xx_spkr_event':
    drivers/input/misc/ixp4xx-beeper.c:54: error: 'input_dev' undeclared (first use in this function)
    drivers/input/misc/ixp4xx-beeper.c:54: error: (Each undeclared identifier is reported only once
    drivers/input/misc/ixp4xx-beeper.c:54: error: for each function it appears in.)

    Signed-off-by: Frederik Deweerdt
    Acked-by: Dmitry Torokhov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Frederik Deweerdt
     

08 May, 2007

1 commit


03 May, 2007

1 commit


30 Apr, 2007

3 commits


12 Apr, 2007

6 commits

  • Create platform device for cobalt buttons as part of arch setup.
    This makes the driver follow current driver model more closely.

    Signed-off-by: Dmitry Torokhov
    Acked-by: Yoichi Yuasa

    Dmitry Torokhov
     
  • In preparation for struct class_device -> struct device input
    core conversion, switch to using input_dev->dev.parent when
    specifying device position in sysfs tree.

    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • Use input_get_drvdata() and input_set_drvdata() instead.

    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • As the number of keymaps increases and is very unlikely to
    reduce, this patch helps to reduce memory consumption by
    declaring all keymaps as __initdata and copying right keymap
    during DMI detection. On x86 this make the module size at
    runtime going from 10616 to 9428: a bit more than 1kb saved.

    Signed-off-by: Eric Piel
    Signed-off-by: Dmitry Torokhov

    Eric Piel
     
  • It turns out that the keymaps in the wistron driver are almost the
    same, the main difference being some keys which may not exist and
    leds which might not be present. Therefore it's possible to write
    a generic keymap which would allow the use of an unknown keyboard
    with little drawbacks. The user can select it specifying the parameter
    "keymap=generic".

    Signed-off-by: Eric Piel
    Signed-off-by: Dmitry Torokhov

    Eric Piel
     
  • Acerhk supports already a lot of laptops. Lets import its database so
    that everyone can benefit of the work of Olaf Tauber. Only the "tm_new"
    laptops were imported. "tm_old" laptops could be possible but requires
    more testing and probably only few laptops are still alive. "dritek"
    laptops should probably be imported into a different driver. Also compress
    the keymaps by fitting each entry on an int. Most of the dmi matching was
    written based on google searches, so it's rather prone to errors. That's
    why I'm asking people to confirm it works.

    Support to generate switch input events was added as some laptops indicate
    lid open/close through this interface.

    This adds the following hardware:
    Acer TravelMate 370
    Acer TravelMate 380
    Acer TravelMate C300
    Acer TravelMate C100
    Acer TravelMate C110
    Acer TravelMate 250
    Acer TravelMate 350
    Acer TravelMate 620
    Acer TravelMate 630
    Acer TravelMate 220
    Acer TravelMate 230
    Acer TravelMate 260
    Acer TravelMate 280
    Acer TravelMate 360
    Acer TravelMate 2100
    Acer TravelMate 2410
    Acer Aspire 1500
    Acer Aspire 1600
    Acer Aspire 3020
    Acer Aspire 5020
    Medion MD 2900
    Medion MD 40100
    Medion MD 95400
    Medion MD 96500
    Fujitsu Siemens Amilo 7820

    Signed-off-by: Eric Piel
    Signed-off-by: Dmitry Torokhov

    Eric Piel
     

07 Mar, 2007

1 commit


18 Feb, 2007

1 commit


13 Feb, 2007

1 commit

  • Many struct file_operations in the kernel can be "const". Marking them const
    moves these to the .rodata section, which avoids false sharing with potential
    dirty data. In addition it'll catch accidental writes at compile time to
    these shared resources.

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     

10 Feb, 2007

2 commits


08 Dec, 2006

1 commit

  • Clean up several code points in which the return code from misc_register is
    not handled properly.

    Several modules failed to deregister various hooks when misc_register fails,
    and this patch cleans them up. Also there are a few modules that legitimately
    don't care about the failure status of misc register. These drivers however
    unilaterally call misc_deregister on module unload.

    Since misc_register doesn't initialize the list_head in the init_routine if it
    fails, the deregister operation is at risk for oopsing when list_del is
    called. The initial solution was to manually init the list in the miscdev
    structure in each of those modules, but the consensus in this thread was to
    consolodate and do that universally inside misc_register.

    Signed-off-by: Neil Horman
    Cc: Bjorn Helgaas
    Cc: Kylene Jo Hall
    Cc: Dmitry Torokhov
    Cc: Olaf Hering
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Neil Horman
     

16 Oct, 2006

1 commit


12 Oct, 2006

1 commit


10 Oct, 2006

1 commit


05 Oct, 2006

1 commit

  • Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
    of passing regs around manually through all ~1800 interrupt handlers in the
    Linux kernel.

    The regs pointer is used in few places, but it potentially costs both stack
    space and code to pass it around. On the FRV arch, removing the regs parameter
    from all the genirq function results in a 20% speed up of the IRQ exit path
    (ie: from leaving timer_interrupt() to leaving do_IRQ()).

    Where appropriate, an arch may override the generic storage facility and do
    something different with the variable. On FRV, for instance, the address is
    maintained in GR28 at all times inside the kernel as part of general exception
    handling.

    Having looked over the code, it appears that the parameter may be handed down
    through up to twenty or so layers of functions. Consider a USB character
    device attached to a USB hub, attached to a USB controller that posts its
    interrupts through a cascaded auxiliary interrupt controller. A character
    device driver may want to pass regs to the sysrq handler through the input
    layer which adds another few layers of parameter passing.

    I've build this code with allyesconfig for x86_64 and i386. I've runtested the
    main part of the code on FRV and i386, though I can't test most of the drivers.
    I've also done partial conversion for powerpc and MIPS - these at least compile
    with minimal configurations.

    This will affect all archs. Mostly the changes should be relatively easy.
    Take do_IRQ(), store the regs pointer at the beginning, saving the old one:

    struct pt_regs *old_regs = set_irq_regs(regs);

    And put the old one back at the end:

    set_irq_regs(old_regs);

    Don't pass regs through to generic_handle_irq() or __do_IRQ().

    In timer_interrupt(), this sort of change will be necessary:

    - update_process_times(user_mode(regs));
    - profile_tick(CPU_PROFILING, regs);
    + update_process_times(user_mode(get_irq_regs()));
    + profile_tick(CPU_PROFILING);

    I'd like to move update_process_times()'s use of get_irq_regs() into itself,
    except that i386, alone of the archs, uses something other than user_mode().

    Some notes on the interrupt handling in the drivers:

    (*) input_dev() is now gone entirely. The regs pointer is no longer stored in
    the input_dev struct.

    (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does
    something different depending on whether it's been supplied with a regs
    pointer or not.

    (*) Various IRQ handler function pointers have been moved to type
    irq_handler_t.

    Signed-Off-By: David Howells
    (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)

    David Howells
     

02 Oct, 2006

2 commits