1. 09 1月, 2009 40 次提交
    • L
      Merge branch 'simplify_PRT' into release · ec9f168f
      Len Brown 提交于
      Conflicts:
      	drivers/acpi/pci_irq.c
      
      Note that this merge disables
      e1d3a908
      pci, acpi: reroute PCI interrupt to legacy boot interrupt equivalent
      Signed-off-by: NLen Brown <len.brown@intel.com>
      ec9f168f
    • L
      Merge branch 'linus' into release · b2576e1d
      Len Brown 提交于
      b2576e1d
    • L
      Merge branch 'suspend' into release · 3cc8a5f4
      Len Brown 提交于
      3cc8a5f4
    • L
      Merge branch 'misc' into release · d0302bc6
      Len Brown 提交于
      Conflicts:
      	include/acpi/acpixf.h
      Signed-off-by: NLen Brown <len.brown@intel.com>
      d0302bc6
    • L
      Merge branch 'fujitsu-laptop' into release · 106ad8d6
      Len Brown 提交于
      106ad8d6
    • L
      Merge branch 'fluff' into release · 33a8c927
      Len Brown 提交于
      33a8c927
    • L
    • L
      Merge branch 'battery' into release · a8e896e2
      Len Brown 提交于
      a8e896e2
    • L
      Merge branch 'asus-eeepc' into release · 39cecf20
      Len Brown 提交于
      39cecf20
    • L
      Merge branch 'alarm' into release · 38f64c77
      Len Brown 提交于
      38f64c77
    • L
      ACPICA: hide private headers · e2f7a777
      Len Brown 提交于
      Signed-off-by: NLen Brown <len.brown@intel.com>
      e2f7a777
    • L
      ACPICA: create acpica/ directory · 95b482a8
      Len Brown 提交于
      also, delete sleep/ and delete ACPI_CFLAGS from Makefile
      Signed-off-by: NLen Brown <len.brown@intel.com>
      95b482a8
    • L
      ACPI: fix build warning · 2602a671
      Len Brown 提交于
      when CONFIG_RTC_DRV_CMOS=m
      and thus !defined(HAVE_ACPI_LEGACY_ALARM)
      
      drivers/acpi/proc.c:85: warning: ‘cmos_bcd_read’ declared ‘static’ but
      never defined
      Signed-off-by: NLen Brown <len.brown@intel.com>
      2602a671
    • Z
      ACPI : Use RSDT instead of XSDT by adding boot option of "acpi=rsdt" · 237889bf
      Zhao Yakui 提交于
      On some boxes there exist both RSDT and XSDT table. But unfortunately
      sometimes there exists the following error when XSDT table is used:
         a. 32/64X address mismatch
         b. The 32/64X FACS address mismatch
      
         In such case the boot option of "acpi=rsdt" is provided so that
      RSDT is tried instead of XSDT table when the system can't work well.
      
      http://bugzilla.kernel.org/show_bug.cgi?id=8246Signed-off-by: NZhao Yakui <yakui.zhao@intel.com>
      cc:Thomas Renninger <trenn@suse.de>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      237889bf
    • Z
      ACPI: Avoid array address overflow when _CST MWAIT hint bits are set · 13b40a1a
      Zhao Yakui 提交于
      The Cx Register address obtained from the _CST object is used as the MWAIT
      hints if the register type is FFixedHW. And it is used to check whether
      the Cx type is supported or not.
      
      On some boxes the following Cx state package is obtained from _CST object:
          >{
                      ResourceTemplate ()
                      {
                          Register (FFixedHW,
                              0x01,               // Bit Width
                              0x02,               // Bit Offset
                              0x0000000000889759, // Address
                              0x03,               // Access Size
                              )
                      },
      
                      0x03,
                      0xF5,
                      0x015E }
      
         In such case we should use the bit[7:4] of Cx address to check whether
      the Cx type is supported or not.
      
      mask the MWAIT hint to avoid array address overflow
      Signed-off-by: NZhao Yakui <yakui.zhao@intel.com>
      Acked-by: NVenki Pallipadi <venkatesh.pallipadi@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      13b40a1a
    • T
      fujitsu-laptop: Simplify SBLL/SBL2 backlight handling · f87a1a5f
      Tony Vroon 提交于
      GBLS and GBLL only differ in the clearing of the GHKS flag, so there is no need
      to have two backlight level readouts. Also, per Peter Gruber, the need for the
      BLNF check has disappeared.
      As a result, cleanups can be made in the code. This has been tested on the both
      the S6410 and the S6420 platforms and causes no functionality regressions, on
      the console without X or within X. One module parameter to disable the hotkeys
      is dropped, as we only ever took one codepath anyway.
      Signed-off-by: NTony Vroon <tony@linx.net>
      Tested-by: NPeter Gruber <nokos@gmx.net>
      Tested-By: NStephen Gildea <stepheng+linux@gildea.com>
      Acked-by: NJonathan Woithe <jwoithe@physics.adelaide.edu.au>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      f87a1a5f
    • T
      fujitsu-laptop: Add BL power, LED control and radio state information · 3a407086
      Tony Vroon 提交于
      The FUNC interface in the Fujitsu-Siemens DSDT was unused until now. It exposes
      state information that is now reported in additional platform files (whether the
      radios are killed by the hardware switch or operational, whether the machine is
      docked and whether the lid is open).
      Support for the backlight class is now extended with the ability to power the
      backlight on & off. Optional support for the LED class allows the keyboard
      headlamps found on the U810 netbook and the Fujitsu logo illumination on the
      P8010 notebook to be turned on & off.
      
      This was fed through checkpatch.pl and tested on the S6420, P8010 & U810 platforms.
      Signed-off-by: NStephen Gildea <stepheng+linux@gildea.com>
      Tested-by: NStephen Gildea <stepheng+linux@gildea.com>
      Tested-by: NJulian Brown <jules@panic.cs-bristol.org.uk>
      Signed-off-by: NTony Vroon <tony@linx.net>
      Tested-by: NPeter Gruber <nokos@gmx.net>
      Acked-by: NJonathan Woithe <jwoithe@physics.adelaide.edu.au>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      3a407086
    • L
      ACPICA: delete utcache.c · 6620e0c4
      Len Brown 提交于
      ACPI_USE_LOCAL_CACHE will never be defined by the Linux kernel,
      and thus utcache.c will always be dead code.
      Signed-off-by: NLen Brown <len.brown@intel.com>
      6620e0c4
    • L
      ACPICA: delete acdisasm.h · 5b929aa1
      Len Brown 提交于
      it is referenced only #ifdef ACPI_DISASSEMBLER,
      which is never set by the kernel.
      Signed-off-by: NLen Brown <len.brown@intel.com>
      5b929aa1
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 2150edc6
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (57 commits)
        jbd2: Fix oops in jbd2_journal_init_inode() on corrupted fs
        ext4: Remove "extents" mount option
        block: Add Kconfig help which notes that ext4 needs CONFIG_LBD
        ext4: Make printk's consistently prefixed with "EXT4-fs: "
        ext4: Add sanity checks for the superblock before mounting the filesystem
        ext4: Add mount option to set kjournald's I/O priority
        jbd2: Submit writes to the journal using WRITE_SYNC
        jbd2: Add pid and journal device name to the "kjournald2 starting" message
        ext4: Add markers for better debuggability
        ext4: Remove code to create the journal inode
        ext4: provide function to release metadata pages under memory pressure
        ext3: provide function to release metadata pages under memory pressure
        add releasepage hooks to block devices which can be used by file systems
        ext4: Fix s_dirty_blocks_counter if block allocation failed with nodelalloc
        ext4: Init the complete page while building buddy cache
        ext4: Don't allow new groups to be added during block allocation
        ext4: mark the blocks/inode bitmap beyond end of group as used
        ext4: Use new buffer_head flag to check uninit group bitmaps initialization
        ext4: Fix the race between read_inode_bitmap() and ext4_new_inode()
        ext4: code cleanup
        ...
      2150edc6
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 · cd764695
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (45 commits)
        [SCSI] qla2xxx: Update version number to 8.03.00-k1.
        [SCSI] qla2xxx: Add ISP81XX support.
        [SCSI] qla2xxx: Use proper request/response queues with MQ instantiations.
        [SCSI] qla2xxx: Correct MQ-chain information retrieval during a firmware dump.
        [SCSI] qla2xxx: Collapse EFT/FCE copy procedures during a firmware dump.
        [SCSI] qla2xxx: Don't pollute kernel logs with ZIO/RIO status messages.
        [SCSI] qla2xxx: Don't fallback to interrupt-polling during re-initialization with MSI-X enabled.
        [SCSI] qla2xxx: Remove support for reading/writing HW-event-log.
        [SCSI] cxgb3i: add missing include
        [SCSI] scsi_lib: fix DID_RESET status problems
        [SCSI] fc transport: restore missing dev_loss_tmo callback to LLDD
        [SCSI] aha152x_cs: Fix regression that keeps driver from using shared interrupts
        [SCSI] sd: Correctly handle 6-byte commands with DIX
        [SCSI] sd: DIF: Fix tagging on platforms with signed char
        [SCSI] sd: DIF: Show app tag on error
        [SCSI] Fix error handling for DIF/DIX
        [SCSI] scsi_lib: don't decrement busy counters when inserting commands
        [SCSI] libsas: fix test for negative unsigned and typos
        [SCSI] a2091, gvp11: kill warn_unused_result warnings
        [SCSI] fusion: Move a dereference below a NULL test
        ...
      
      Fixed up trivial conflict due to moving the async part of sd_probe
      around in the async probes vs using dev_set_name() in naming.
      cd764695
    • L
      Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6 · 97d61b8e
      Linus Torvalds 提交于
      * 'bkl-removal' of git://git.lwn.net/linux-2.6:
        RTC: Remove the BKL.
      97d61b8e
    • L
      Merge branch 'docs-next' of git://git.lwn.net/linux-2.6 · 1df2d017
      Linus Torvalds 提交于
      * 'docs-next' of git://git.lwn.net/linux-2.6:
        Fix a typo in the development process document.
        Document handling of bad memory
        Document RCU and unloadable modules
      1df2d017
    • D
      RTC: Remove the BKL. · 048cd588
      David John 提交于
      Remove calls to the BKL since concurrent access is protected
      by the spin lock rtc_lock.
      Signed-off-by: NDavid John <davidjon@xenontk.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NJonathan Corbet <corbet@lwn.net>
      048cd588
    • J
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 · 022992ee
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6:
        regulator: fix kernel-doc warnings
        regulator: catch some registration errors
        regulator: Add basic DocBook manual
        regulator: Fix some kerneldoc rendering issues
        regulator: Add missing kerneldoc
        regulator: Clean up kerneldoc warnings
        regulator: Remove extraneous kerneldoc annotations
        regulator: init/link earlier
        regulator: move set_machine_constraints after regulator device initialization
        regulator: da903x: make da903x_is_enabled return 0 or 1
        regulator: da903x: add '\n' to error messages
        regulator: sysfs attribute reduction (v2)
        regulator: code shrink (v2)
        regulator: improved mode error checks
        regulator: enable/disable refcounting
        regulator: struct device - replace bus_id with dev_name(), dev_set_name()
      022992ee
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 5fbbf5f6
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (84 commits)
        wimax: fix kernel-doc for debufs_dentry member of struct wimax_dev
        net: convert pegasus driver to net_device_ops
        bnx2x: Prevent eeprom set when driver is down
        net: switch kaweth driver to netdevops
        pcnet32: round off carrier watch timer
        i2400m/usb: wrap USB power saving in #ifdef CONFIG_PM
        wimax: testing for rfkill support should also test for CONFIG_RFKILL_MODULE
        wimax: fix kconfig interactions with rfkill and input layers
        wimax: fix '#ifndef CONFIG_BUG' layout to avoid warning
        r6040: bump release number to 0.20
        r6040: warn about MAC address being unset
        r6040: check PHY status when bringing interface up
        r6040: make printks consistent with DRV_NAME
        gianfar: Fixup use of BUS_ID_SIZE
        mlx4_en: Returning real Max in get_ringparam
        mlx4_en: Consider inline packets on completion
        netdev: bfin_mac: enable bfin_mac net dev driver for BF51x
        qeth: convert to net_device_ops
        vlan: add neigh_setup
        dm9601: warn on invalid mac address
        ...
      5fbbf5f6
    • L
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · ce279e6e
      Linus Torvalds 提交于
      * master.kernel.org:/home/rmk/linux-2.6-arm: (23 commits)
        [ARM] fix pxa930_trkball build errors
        [ARM] fix netx
        [ARM] fix pnx4008
        [ARM] fix pxa
        [ARM] remove missed CLPS7500 defconfig
        [ARM] clps711x: fix warning in edb7211-mm.c
        [ARM] clps711x: fix warning in fortunet
        [ARM] fix AT91, davinci, h720x, ks8695, msm, mx2, mx3, netx, omap1, omap2, pxa, s3c
        [ARM] Fix realview build
        [ARM] 5357/1: Kirkwood: add missing ge01 tclk initialization
        [ARM] 5358/1: AT2440EVB: Use new include path of mci.h
        [ARM] 5361/1: mv78xx0: fix compilation error
        [ARM] 5360/1: Orion: fix compilation error
        [ARM] 5359/1: Kirkwood: fix compilation error
        [ARM] S3C64XX: Fix EINT group macro definition
        [ARM] Ensure CONFIG_SERIAL_SAMSUNG_UARTS is always set.
        [ARM] S3C24XX: Add gpio_to_irq implementation
        [ARM] S3C24XX: Add gpio_to_irq() facility
        [ARM] footbridge: dc21285.c warning fixes
        [ARM] footbridge: add isa_init_irq() to common header
        ...
      ce279e6e
    • L
      Merge branch 'for-linus' of git://neil.brown.name/md · 894bcdfb
      Linus Torvalds 提交于
      * 'for-linus' of git://neil.brown.name/md:
        md: don't retry recovery of raid1 that fails due to error on source drive.
        md: Allow md devices to be created by name.
        md: make devices disappear when they are no longer needed.
        md: centralise all freeing of an 'mddev' in 'md_free'
        md: move allocation of ->queue from mddev_find to md_probe
        md: need another print_sb for mdp_superblock_1
        md: use list_for_each_entry macro directly
        md: raid0: make hash_spacing and preshift sector-based.
        md: raid0: Represent the size of strip zones in sectors.
        md: raid0 create_strip_zones(): Add KERN_INFO/KERN_ERR to printk's.
        md: raid0 create_strip_zones(): Make two local variables sector-based.
        md: raid0: Represent zone->zone_offset in sectors.
        md: raid0: Represent device offset in sectors.
        md: raid0_make_request(): Replace local variable block by sector.
        md: raid0_make_request(): Remove local variable chunk_size.
        md: raid0_make_request(): Replace chunksize_bits by chunksect_bits.
        md: use sysfs_notify_dirent to notify changes to md/sync_action.
        md: fix bitmap-on-external-file bug.
      894bcdfb
    • R
      Merge branch 'devel' · 97b5fe8e
      Russell King 提交于
      97b5fe8e
    • L
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · a419df8a
      Linus Torvalds 提交于
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        libata: clean up the SFF code for coding style
        libata: Add 32bit PIO support
        [libata] ahci: Withdraw IGN_SERR_INTERNAL for SB800 SATA
        pata_hpt366: reimplement mode programming
        [libata] pata_hpt3x3: correct _freeze() function declaration
        libata: Add special ata_pio_need_iordy() handling for Compact Flash.
        pata_platform: __pata_platform_remove() shouldn't be in discard section
        sata_sil24: remove unused sil24_port_multiplier
        [libata] ahci: Add SATA GEN3 related messages
        ata_piix: save, use saved and restore IOCFG
        pata_ali: Fix and workaround for FIFO DMA bug
        pata_ali: force initialise a few bits
        pata_hpt3x3: Workarounds for chipset
      a419df8a
    • R
    • A
      libata: clean up the SFF code for coding style · 0fe40ff8
      Alan Cox 提交于
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      0fe40ff8
    • A
      libata: Add 32bit PIO support · 871af121
      Alan Cox 提交于
      This matters for some controllers and in one or two cases almost doubles
      PIO performance. Add a bmdma32 operations set we can inherit and activate
      it for some controllers
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      871af121
    • S
      [libata] ahci: Withdraw IGN_SERR_INTERNAL for SB800 SATA · e427fe04
      Shane Huang 提交于
      There is an issue in ATI SB600/SB700 SATA that PxSERR.E should not be
      set on some conditions, which will lead to many SATA ODD error messages.
      commit 55a61604 is the workaround.
      Since SB800 fixed this HW issue, IGN_SERR_INTERNAL should be withdrawn
      for SB800.
      Signed-off-by: NShane Huang <shane.huang@amd.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      e427fe04
    • N
      md: don't retry recovery of raid1 that fails due to error on source drive. · 4044ba58
      NeilBrown 提交于
      If a raid1 has only one working drive and it has a sector which
      gives an error on read, then an attempt to recover onto a spare will
      fail, but as the single remaining drive is not removed from the
      array, the recovery will be immediately re-attempted, resulting
      in an infinite recovery loop.
      
      So detect this situation and don't retry recovery once an error
      on the lone remaining drive is detected.
      
      Allow recovery to be retried once every time a spare is added
      in case the problem wasn't actually a media error.
      Signed-off-by: NNeilBrown <neilb@suse.de>
      4044ba58
    • N
      md: Allow md devices to be created by name. · efeb53c0
      NeilBrown 提交于
      Using sequential numbers to identify md devices is somewhat artificial.
      Using names can be a lot more user-friendly.
      
      Also, creating md devices by opening the device special file is a bit
      awkward.
      
      So this patch provides a new option for creating and naming devices.
      
      Writing a name such as "md_home" to
          /sys/modules/md_mod/parameters/new_array
      will cause an array with that name to be created.  It will appear in
      /sys/block/ /proc/partitions and /proc/mdstat as 'md_home'.
      It will have an arbitrary minor number allocated.
      
      md devices that a created by an open are destroyed on the last
      close when the device is inactive.
      For named md devices, they will not be destroyed until the array
      is explicitly stopped, either with the STOP_ARRAY ioctl or by
      writing 'clear' to /sys/block/md_XXXX/md/array_state.
      
      The name of the array must start 'md_' to avoid conflict with
      other devices.
      Signed-off-by: NNeilBrown <neilb@suse.de>
      efeb53c0
    • N
      md: make devices disappear when they are no longer needed. · d3374825
      NeilBrown 提交于
      Currently md devices, once created, never disappear until the module
      is unloaded.  This is essentially because the gendisk holds a
      reference to the mddev, and the mddev holds a reference to the
      gendisk, this a circular reference.
      
      If we drop the reference from mddev to gendisk, then we need to ensure
      that the mddev is destroyed when the gendisk is destroyed.  However it
      is not possible to hook into the gendisk destruction process to enable
      this.
      
      So we drop the reference from the gendisk to the mddev and destroy the
      gendisk when the mddev gets destroyed.  However this has a
      complication.
      Between the call
         __blkdev_get->get_gendisk->kobj_lookup->md_probe
      and the call
         __blkdev_get->md_open
      
      there is no obvious way to hold a reference on the mddev any more, so
      unless something is done, it will disappear and gendisk will be
      destroyed prematurely.
      
      Also, once we decide to destroy the mddev, there will be an unlockable
      moment before the gendisk is unlinked (blk_unregister_region) during
      which a new reference to the gendisk can be created.  We need to
      ensure that this reference can not be used.  i.e. the ->open must
      fail.
      
      So:
       1/  in md_probe we set a flag in the mddev (hold_active) which
           indicates that the array should be treated as active, even
           though there are no references, and no appearance of activity.
           This is cleared by md_release when the device is closed if it
           is no longer needed.
           This ensures that the gendisk will survive between md_probe and
           md_open.
      
       2/  In md_open we check if the mddev we expect to open matches
           the gendisk that we did open.
           If there is a mismatch we return -ERESTARTSYS and modify
           __blkdev_get to retry from the top in that case.
           In the -ERESTARTSYS sys case we make sure to wait until
           the old gendisk (that we succeeded in opening) is really gone so
           we loop at most once.
      
      Some udev configurations will always open an md device when it first
      appears.   If we allow an md device that was just created by an open
      to disappear on an immediate close, then this can race with such udev
      configurations and result in an infinite loop the device being opened
      and closed, then re-open due to the 'ADD' even from the first open,
      and then close and so on.
      So we make sure an md device, once created by an open, remains active
      at least until some md 'ioctl' has been made on it.  This means that
      all normal usage of md devices will allow them to disappear promptly
      when not needed, but the worst that an incorrect usage will do it
      cause an inactive md device to be left in existence (it can easily be
      removed).
      
      As an array can be stopped by writing to a sysfs attribute
        echo clear > /sys/block/mdXXX/md/array_state
      we need to use scheduled work for deleting the gendisk and other
      kobjects.  This allows us to wait for any pending gendisk deletion to
      complete by simply calling flush_scheduled_work().
      Signed-off-by: NNeilBrown <neilb@suse.de>
      d3374825
    • N
      md: centralise all freeing of an 'mddev' in 'md_free' · a21d1504
      NeilBrown 提交于
      md_free is the .release handler for the md kobj_type.
      So it makes sense to release all the objects referenced by
      the mddev in there, rather than just prior to calling kobject_put
      for what we think is the last time.
      Signed-off-by: NNeilBrown <neilb@suse.de>
      a21d1504
    • N
      md: move allocation of ->queue from mddev_find to md_probe · 8b765398
      NeilBrown 提交于
      It is more balanced to just do simple initialisation in mddev_find,
      which allocates and links a new md device, and leave all the
      more sophisticated allocation to md_probe (which calls mddev_find).
      md_probe already allocated the gendisk.  It should allocate the
      queue too.
      Signed-off-by: NNeilBrown <neilb@suse.de>
      8b765398