1. 07 Apr, 2009 9 commits
  2. 06 Apr, 2009 5 commits
  3. 05 Apr, 2009 26 commits
    • Linus Torvalds's avatar
      Merge branch 'audit.b62' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current · 0221c81b
      Linus Torvalds authored
      * 'audit.b62' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:
        Audit: remove spaces from audit_log_d_path
        audit: audit_set_auditable defined but not used
        audit: incorrect ref counting in audit tree tag_chunk
        audit: Fix possible return value truncation in audit_get_context()
        audit: ignore terminating NUL in AUDIT_USER_TTY messages
        Audit: fix handling of 'strings' with NULL characters
        make the e->rule.xxx shorter in kernel auditfilter.c
        auditsc: fix kernel-doc notation
        audit: EXECVE record - removed bogus newline
      0221c81b
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.o-hand.com/linux-mfd · 48f286a2
      Linus Torvalds authored
      * 'for-next' of git://git.o-hand.com/linux-mfd:
        mfd: fix da903x warning
        mfd: fix MAINTAINERS entry
        mfd: Use the value of the final spin when reading the AUXADC
        mfd: Storage class should be before const qualifier
        mfd: PASIC3: supply clock_rate to DS1WM via driver_data
        mfd: remove DS1WM clock handling
        mfd: remove unused PASIC3 bus_shift field
        pxa/magician: remove deprecated .bus_shift from PASIC3 platform_data
        mfd: convert PASIC3 to use MFD core
        mfd: convert DS1WM to use MFD core
        mfd: Support active high IRQs on WM835x
        mfd: Use bulk read to fill WM8350 register cache
        mfd: remove duplicated #include from pcf50633
      48f286a2
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://repo.or.cz/cris-mirror · ea431793
      Linus Torvalds authored
      * 'for-linus' of git://repo.or.cz/cris-mirror:
        CRISv32: Remove extraneous space between -I and the path.
        cris: convert obsolete hw_interrupt_type to struct irq_chip
        BUG to BUG_ON changes
        cpumask: use mm_cpumask() wrapper: cris
        cpumask: Use accessors code.: cris
        cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: cris
      ea431793
    • Linus Torvalds's avatar
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 · 32fb6c17
      Linus Torvalds authored
      * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (140 commits)
        ACPI: processor: use .notify method instead of installing handler directly
        ACPI: button: use .notify method instead of installing handler directly
        ACPI: support acpi_device_ops .notify methods
        toshiba-acpi: remove MAINTAINERS entry
        ACPI: battery: asynchronous init
        acer-wmi: Update copyright notice & documentation
        acer-wmi: Cleanup the failure cleanup handling
        acer-wmi: Blacklist Acer Aspire One
        video: build fix
        thinkpad-acpi: rework brightness support
        thinkpad-acpi: enhanced debugging messages for the fan subdriver
        thinkpad-acpi: enhanced debugging messages for the hotkey subdriver
        thinkpad-acpi: enhanced debugging messages for rfkill subdrivers
        thinkpad-acpi: restrict access to some firmware LEDs
        thinkpad-acpi: remove HKEY disable functionality
        thinkpad-acpi: add new debug helpers and warn of deprecated atts
        thinkpad-acpi: add missing log levels
        thinkpad-acpi: cleanup debug helpers
        thinkpad-acpi: documentation cleanup
        thinkpad-acpi: drop ibm-acpi alias
        ...
      32fb6c17
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 · 45e36c16
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (23 commits)
        sh: sh7785lcr: Map whole PCI address space.
        sh: Fix up DSP context save/restore.
        sh: Fix up number of on-chip DMA channels on SH7091.
        sh: update defconfigs.
        sh: Kill off broken direct-mapped cache mode.
        sh: Wire up ARCH_HAS_DEFAULT_IDLE for cpuidle.
        sh: Add a command line option for disabling I/O trapping.
        sh: Select ARCH_HIBERNATION_POSSIBLE.
        sh: migor: Fix up CEU use flags.
        input: migor_ts: add wakeup support
        rtc: rtc-sh: use set_irq_wake()
        input: sh_keysc: use enable/disable_irq_wake()
        sh: intc: set_irq_wake() support
        sh: intc: install enable, disable and shutdown callbacks
        clocksource: sh_cmt: use remove_irq() and remove clockevent workaround
        sh: ap325 and Migo-R use new sh_mobile_ceu_info flags
        sh: Fix up -Wformat-security whining.
        sh: ap325rxa: Add ov772x support, again.
        sh: Sanitize asm/mmu.h for assembly use.
        sh: Tidy up sh7786 pinmux table.
        ...
      45e36c16
    • Linus Torvalds's avatar
      Merge branch 'avr32-arch' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 · 87fc94d5
      Linus Torvalds authored
      * 'avr32-arch' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
        avr32: add hardware handshake support to atmel_serial
        avr32: add RTS/CTS/CLK pin selection for the USARTs
        Add RTC support for Merisc boards
        avr32: at32ap700x: setup DMA for AC97C in the machine code
        avr32: at32ap700x: setup DMA for ABDAC in the machine code
        Add Merisc board support
        avr32: use gpio_is_valid() to check USBA vbus_pin I/O line
        atmel-usba-udc: use gpio_is_valid() to check vbus_pin I/O line
        avr32: fix timing LCD parameters for EVKLCD10X boards
        avr32: use GPIO line PB15 on EVKLCD10x boards for backlight
        avr32: configure MCI detect and write protect pins for EVKLCD10x boards
        avr32: set pin mask to alternative 18 bpp for EVKLCD10x boards
        avr32: add pin mask for 18-bit color on the LCD controller
        avr32: fix 15-bit LCDC pin mask to use MSB lines
      87fc94d5
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 · 3516c6a8
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (714 commits)
        Staging: sxg: slicoss: Specify the license for Sahara SXG and Slicoss drivers
        Staging: serqt_usb: fix build due to proc tty changes
        Staging: serqt_usb: fix checkpatch errors
        Staging: serqt_usb: add TODO file
        Staging: serqt_usb: Lindent the code
        Staging: add USB serial Quatech driver
        staging: document that the wifi staging drivers a bit better
        Staging: echo cleanup
        Staging: BUG to BUG_ON changes
        Staging: remove some pointless conditionals before kfree_skb()
        Staging: line6: fix build error, select SND_RAWMIDI
        Staging: line6: fix checkpatch errors in variax.c
        Staging: line6: fix checkpatch errors in toneport.c
        Staging: line6: fix checkpatch errors in pcm.c
        Staging: line6: fix checkpatch errors in midibuf.c
        Staging: line6: fix checkpatch errors in midi.c
        Staging: line6: fix checkpatch errors in dumprequest.c
        Staging: line6: fix checkpatch errors in driver.c
        Staging: line6: fix checkpatch errors in audio.c
        Staging: line6: fix checkpatch errors in pod.c
        ...
      3516c6a8
    • Linus Torvalds's avatar
      Merge branch 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip · 714f83d5
      Linus Torvalds authored
      * 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (413 commits)
        tracing, net: fix net tree and tracing tree merge interaction
        tracing, powerpc: fix powerpc tree and tracing tree interaction
        ring-buffer: do not remove reader page from list on ring buffer free
        function-graph: allow unregistering twice
        trace: make argument 'mem' of trace_seq_putmem() const
        tracing: add missing 'extern' keywords to trace_output.h
        tracing: provide trace_seq_reserve()
        blktrace: print out BLK_TN_MESSAGE properly
        blktrace: extract duplidate code
        blktrace: fix memory leak when freeing struct blk_io_trace
        blktrace: fix blk_probes_ref chaos
        blktrace: make classic output more classic
        blktrace: fix off-by-one bug
        blktrace: fix the original blktrace
        blktrace: fix a race when creating blk_tree_root in debugfs
        blktrace: fix timestamp in binary output
        tracing, Text Edit Lock: cleanup
        tracing: filter fix for TRACE_EVENT_FORMAT events
        ftrace: Using FTRACE_WARN_ON() to check "freed record" in ftrace_release()
        x86: kretprobe-booster interrupt emulation code fix
        ...
      
      Fix up trivial conflicts in
       arch/parisc/include/asm/ftrace.h
       include/linux/memory.h
       kernel/extable.c
       kernel/module.c
      714f83d5
    • Eric Paris's avatar
      Audit: remove spaces from audit_log_d_path · def57543
      Eric Paris authored
      audit_log_d_path had spaces in the strings which would be emitted on the
      error paths.  This patch simply replaces those spaces with an _ or removes
      the needless spaces entirely.
      Signed-off-by: default avatarEric Paris <eparis@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      def57543
    • Eric Paris's avatar
      audit: audit_set_auditable defined but not used · 679173b7
      Eric Paris authored
      after 0590b933 audit_set_auditable() is now only
      used by the audit tree code.  If CONFIG_AUDIT_TREE is unset it will be defined
      but unused.  This patch simply moves the function inside a CONFIG_AUDIT_TREE
      block.
      
      cc1: warnings being treated as errors
      /home/acme_unencrypted/git/linux-2.6-tip/kernel/auditsc.c:745: error: ‘audit_set_auditable’ defined but not used
      make[2]: *** [kernel/auditsc.o] Error 1
      make[1]: *** [kernel] Error 2
      make[1]: *** Waiting for unfinished jobs....
      Signed-off-by: default avatarEric Paris <eparis@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      679173b7
    • Eric Paris's avatar
      audit: incorrect ref counting in audit tree tag_chunk · 318b6d3d
      Eric Paris authored
      tag_chunk has bad exit paths in which the inotify ref counting is wrong.
      At the top of the function we found &old_watch using  inotify_find_watch().
      inotify_find_watch takes a reference to the watch.  This is never dropped
      on an error path.
      Signed-off-by: default avatarEric Paris <eparis@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      318b6d3d
    • Paul Moore's avatar
      audit: Fix possible return value truncation in audit_get_context() · 6d208da8
      Paul Moore authored
      The audit subsystem treats syscall return codes as type long, unfortunately
      the audit_get_context() function mistakenly converts the return code to an
      int type in the parameters which could cause problems on systems where the
      sizeof(int) != sizeof(long).
      Signed-off-by: default avatarPaul Moore <paul.moore@hp.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      6d208da8
    • Miloslav Trmac's avatar
      audit: ignore terminating NUL in AUDIT_USER_TTY messages · 55ad2f8d
      Miloslav Trmac authored
      AUDIT_USER_TTY, like all other messages sent from user-space, is sent
      NUL-terminated.  Unlike other user-space audit messages, which come only
      from trusted sources, AUDIT_USER_TTY messages are processed using
      audit_log_n_untrustedstring().
      
      This patch modifies AUDIT_USER_TTY handling to ignore the trailing NUL
      and use the "quoted_string" representation of the message if possible.
      Signed-off-by: default avatarMiloslav Trmac <mitr@redhat.com>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Steve Grubb <sgrubb@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      55ad2f8d
    • Miloslav Trmac's avatar
      Audit: fix handling of 'strings' with NULL characters · b3897f56
      Miloslav Trmac authored
      currently audit_log_n_untrustedstring() uses audit_string_contains_control()
      to check if the 'string' has any control characters.  If the 'string' has an
      embedded NULL audit_string_contains_control() will return that the data has
      no control characters and will then pass the string to audit_log_n_string
      with the total length, not the length up to the first NULL.
      audit_log_n_string() does a memcpy of the entire length and so the actual
      audit record emitted may then contain a NULL and then whatever random memory
      is after the NULL.
      
      Since we want to log the entire octet stream (if we can't trust the data
      to be a string we can't trust that a NULL isn't actually a part of it)
      we should just consider NULL as a control character.  If the caller is
      certain they want to stop at the first NULL they should be using
      audit_log_untrustedstring.
      Signed-off-by: default avatarEric Paris <eparis@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      b3897f56
    • Zhenwen Xu's avatar
      make the e->rule.xxx shorter in kernel auditfilter.c · c28bb7da
      Zhenwen Xu authored
      make the e->rule.xxx shorter in kernel/auditfilter.c
      --
      ---------------------------------
      Zhenwen Xu - Open and Free
      Home Page:	http://zhwen.org
      My Studio:	http://dim4.cn
      
      >From 99692dc640b278f1cb1a15646ce42f22e89c0f77 Mon Sep 17 00:00:00 2001
      From: Zhenwen Xu <Helight.Xu@gmail.com>
      Date: Thu, 12 Mar 2009 22:04:59 +0800
      Subject: [PATCH] make the e->rule.xxx shorter in kernel/auditfilter.c
      Signed-off-by: default avatarZhenwen Xu <Helight.Xu@gmail.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      c28bb7da
    • Randy Dunlap's avatar
      auditsc: fix kernel-doc notation · 6b962559
      Randy Dunlap authored
      Fix auditsc kernel-doc notation:
      
      Warning(linux-2.6.28-git7//kernel/auditsc.c:2156): No description found for parameter 'attr'
      Warning(linux-2.6.28-git7//kernel/auditsc.c:2156): Excess function parameter 'u_attr' description in '__audit_mq_open'
      Warning(linux-2.6.28-git7//kernel/auditsc.c:2204): No description found for parameter 'notification'
      Warning(linux-2.6.28-git7//kernel/auditsc.c:2204): Excess function parameter 'u_notification' description in '__audit_mq_notify'
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      cc:	Al Viro <viro@zeniv.linux.org.uk>
      cc:	Eric Paris <eparis@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      6b962559
    • Jiri Pirko's avatar
      audit: EXECVE record - removed bogus newline · ca96a895
      Jiri Pirko authored
      (updated)
      Added hunk that changes the comment, the rest is the same.
      
      EXECVE records contain a newline after every argument. auditd converts
      "\n" to " " so you cannot see newlines even in raw logs, but they're
      there nevertheless. If you're not using auditd, you need to work round
      them. These '\n' chars are can be easily replaced by spaces when
      creating record in kernel. Note there is no need for trailing '\n' in
      an audit record.
      
      record before this patch:
      "type=EXECVE msg=audit(1231421801.566:31): argc=4 a0=\"./test\"\na1=\"a\"\na2=\"b\"\na3=\"c\"\n"
      
      record after this patch:
      "type=EXECVE msg=audit(1231421801.566:31): argc=4 a0=\"./test\" a1=\"a\" a2=\"b\" a3=\"c\""
      Signed-off-by: default avatarJiri Pirko <jpirko@redhat.com>
      Acked-by: default avatarEric Paris <eparis@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      ca96a895
    • Linus Torvalds's avatar
      Merge branch 'bzip2-lzma-for-linus' of... · 8901e7ff
      Linus Torvalds authored
      Merge branch 'bzip2-lzma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip
      
      * 'bzip2-lzma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip:
        bzip2/lzma: quiet Kconfig warning for INITRAMFS_COMPRESSION_NONE
      8901e7ff
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask · 90975ef7
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask: (36 commits)
        cpumask: remove cpumask allocation from idle_balance, fix
        numa, cpumask: move numa_node_id default implementation to topology.h, fix
        cpumask: remove cpumask allocation from idle_balance
        x86: cpumask: x86 mmio-mod.c use cpumask_var_t for downed_cpus
        x86: cpumask: update 32-bit APM not to mug current->cpus_allowed
        x86: microcode: cleanup
        x86: cpumask: use work_on_cpu in arch/x86/kernel/microcode_core.c
        cpumask: fix CONFIG_CPUMASK_OFFSTACK=y cpu hotunplug crash
        numa, cpumask: move numa_node_id default implementation to topology.h
        cpumask: convert node_to_cpumask_map[] to cpumask_var_t
        cpumask: remove x86 cpumask_t uses.
        cpumask: use cpumask_var_t in uv_flush_tlb_others.
        cpumask: remove cpumask_t assignment from vector_allocation_domain()
        cpumask: make Xen use the new operators.
        cpumask: clean up summit's send_IPI functions
        cpumask: use new cpumask functions throughout x86
        x86: unify cpu_callin_mask/cpu_callout_mask/cpu_initialized_mask/cpu_sibling_setup_mask
        cpumask: convert struct cpuinfo_x86's llc_shared_map to cpumask_var_t
        cpumask: convert node_to_cpumask_map[] to cpumask_var_t
        x86: unify 32 and 64-bit node_to_cpumask_map
        ...
      90975ef7
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param · cab4e4c4
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param:
        module: use strstarts()
        strstarts: helper function for !strncmp(str, prefix, strlen(prefix))
        arm: allow usage of string functions in linux/string.h
        module: don't use stop_machine on module load
        module: create a request_module_nowait()
        module: include other structures in module version check
        module: remove the SHF_ALLOC flag on the __versions section.
        module: clarify the force-loading taint message.
        module: Export symbols needed for Ksplice
        Ksplice: Add functions for walking kallsyms symbols
        module: remove module_text_address()
        module: __module_address
        module: Make find_symbol return a struct kernel_symbol
        kernel/module.c: fix an unused goto label
        param: fix charp parameters set via sysfs
      
      Fix trivial conflicts in kernel/extable.c manually.
      cab4e4c4
    • Linus Torvalds's avatar
      Merge branch 'core/debugobjects' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip · 5412b539
      Linus Torvalds authored
      * 'core/debugobjects' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        debugobjects: delay free of internal objects
        debugobjects: replace static objects when slab cache becomes available
        debug_objects: add boot-parameter toggle to turn object debugging off again
      5412b539
    • Linus Torvalds's avatar
      Merge branch 'printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip · e4c393fd
      Linus Torvalds authored
      * 'printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        printk: correct the behavior of printk_timed_ratelimit()
        vsprintf: unify the format decoding layer for its 3 users, cleanup
        fix regression from "vsprintf: unify the format decoding layer for its 3 users"
        vsprintf: fix bug in negative value printing
        vsprintf: unify the format decoding layer for its 3 users
        vsprintf: add binary printf
        printk: introduce printk_once()
      
      Fix trivial conflicts (printk_once vs log_buf_kexec_setup() added near
      each other) in include/linux/kernel.h.
      e4c393fd
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc · 0a053e8c
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (42 commits)
        atmel-mci: fix sdc_reg typo
        tmio_mmc: add maintainer
        mmc: Add OpenFirmware bindings for SDHCI driver
        sdhci: Add quirk for forcing maximum block size to 2048 bytes
        sdhci: Add quirk for controllers that need IRQ re-init after reset
        sdhci: Add quirk for controllers that need small delays for PIO
        sdhci: Add set_clock callback and a quirk for nonstandard clocks
        sdhci: Add get_{max,timeout}_clock callbacks
        sdhci: Add support for hosts reporting inverted write-protect state
        sdhci: Add support for card-detection polling
        sdhci: Enable only relevant (DMA/PIO) interrupts during transfers
        sdhci: Split card-detection IRQs management from sdhci_init()
        sdhci: Add support for bus-specific IO memory accessors
        mmc_spi: adjust for delayed data token response
        omap_hsmmc: Wait for SDBP
        omap_hsmmc: Fix MMC3 dma
        omap_hsmmc: Disable SDBP at suspend
        omap_hsmmc: Do not prefix slot name
        omap_hsmmc: Allow cover switch to cause rescan
        omap_hsmmc: Add 8-bit bus width mode support
        ...
      0a053e8c
    • Bjorn Helgaas's avatar
      ACPI: processor: use .notify method instead of installing handler directly · 7ec0a729
      Bjorn Helgaas authored
      This patch adds a .notify() method.  The presence of .notify() causes
      Linux/ACPI to manage event handlers and notify handlers on our behalf,
      so we don't have to install and remove them ourselves.
      Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      CC: Zhang Rui <rui.zhang@intel.com>
      CC: Zhao Yakui <yakui.zhao@intel.com>
      CC: Venki Pallipadi <venkatesh.pallipadi@intel.com>
      CC: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      7ec0a729
    • Bjorn Helgaas's avatar
      ACPI: button: use .notify method instead of installing handler directly · 373cfc36
      Bjorn Helgaas authored
      This patch adds a .notify() method.  The presence of .notify() causes
      Linux/ACPI to manage event handlers and notify handlers on our behalf,
      so we don't have to install and remove them ourselves.
      
      Note that events from fixed hardware buttons now show up as a special
      notify event, so to preserve user-space backward compatibility, we
      convert that back to ACPI_BUTTON_NOTIFY_STATUS.
      Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      Reviewed-by: default avatarAlex Chiang <achiang@hp.com>
      CC: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      373cfc36
    • Bjorn Helgaas's avatar
      ACPI: support acpi_device_ops .notify methods · 46ec8598
      Bjorn Helgaas authored
      This patch adds support for ACPI device driver .notify() methods.  If
      such a method is present, Linux/ACPI installs a handler for device
      notifications (but not for system notifications such as Bus Check,
      Device Check, etc).  When a device notification occurs, Linux/ACPI
      passes it on to the driver's .notify() method.
      
      In most cases, this removes the need for drivers to install their own
      handlers for device-specific notifications.
      
      For fixed hardware devices like some power and sleep buttons, there's
      no notification value because there's no control method to execute a
      Notify opcode.  When a fixed hardware device generates an event, we
      handle it the same as a regular device notification, except we send
      a ACPI_FIXED_HARDWARE_EVENT value.  This is outside the normal 0x0-0xff
      range used by Notify opcodes.
      
      Several drivers install their own handlers for system Bus Check and
      Device Check notifications so they can support hot-plug.  This patch
      doesn't affect that usage.
      Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      Reviewed-by: default avatarAlex Chiang <achiang@hp.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      46ec8598