1. 17 Jul, 2008 21 commits
  2. 16 Jul, 2008 19 commits
    • Jesse Barnes's avatar
      Revert "x86/PCI: ACPI based PCI gap calculation" · 58b6e553
      Jesse Barnes authored
      This reverts commit 809d9a8f.
      
      This one isn't quite ready for prime time.  It needs more testing and
      additional feedback from the ACPI guys.
      58b6e553
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc · 8a0ca91e
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (68 commits)
        sdio_uart: Fix SDIO break control to now return success or an error
        mmc: host driver for Ricoh Bay1Controllers
        sdio: sdio_io.c Fix sparse warnings
        sdio: fix the use of hard coded timeout value.
        mmc: OLPC: update vdd/powerup quirk comment
        mmc: fix spares errors of sdhci.c
        mmc: remove multiwrite capability
        wbsd: fix bad dma_addr_t conversion
        atmel-mci: Driver for Atmel on-chip MMC controllers
        mmc: fix sdio_io sparse errors
        mmc: wbsd.c fix shadowing of 'dma' variable
        MMC: S3C24XX: Refuse incorrectly aligned transfers
        MMC: S3C24XX: Add maintainer entry
        MMC: S3C24XX: Update error debugging.
        MMC: S3C24XX: Add media presence test to request handling.
        MMC: S3C24XX: Fix use of msecs where jiffies are needed
        MMC: S3C24XX: Add MODULE_ALIAS() entries for the platform devices
        MMC: S3C24XX: Fix s3c2410_dma_request() return code check.
        MMC: S3C24XX: Allow card-detect on non-IRQ capable pin
        MMC: S3C24XX: Ensure host->mrq->data is valid
        ...
      
      Manually fixed up bogus executable bits on drivers/mmc/core/sdio_io.c
      and include/linux/mmc/sdio_func.h when merging.
      8a0ca91e
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.infradead.org/~dedekind/ubifs-2.6 · 9c1be0c4
      Linus Torvalds authored
      * 'for_linus' of git://git.infradead.org/~dedekind/ubifs-2.6:
        UBIFS: include to compilation
        UBIFS: add new flash file system
        UBIFS: add brief documentation
        MAINTAINERS: add UBIFS section
        do_mounts: allow UBI root device name
        VFS: export sync_sb_inodes
        VFS: move inode_lock into sync_sb_inodes
      9c1be0c4
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 · 42fdd144
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (76 commits)
        IDE: Report errors during drive reset back to user space
        Update documentation of HDIO_DRIVE_RESET ioctl
        IDE: Remove unused code
        IDE: Fix HDIO_DRIVE_RESET handling
        hd.c: remove the #include <linux/mc146818rtc.h>
        update the BLK_DEV_HD help text
        move ide/legacy/hd.c to drivers/block/
        ide/legacy/hd.c: use late_initcall()
        remove BLK_DEV_HD_ONLY
        ide: endian annotations in ide-floppy.c
        ide-floppy: zero out the whole struct ide_atapi_pc on init
        ide-floppy: fold idefloppy_create_test_unit_ready_cmd into idefloppy_open
        ide-cd: move request prep chunk from cdrom_do_newpc_cont to rq issue path
        ide-cd: move request prep from cdrom_start_rw_cont to rq issue path
        ide-cd: move request prep from cdrom_start_seek_continuation to rq issue path
        ide-cd: fold cdrom_start_seek into ide_cd_do_request
        ide-cd: simplify request issuing path
        ide-cd: mv ide_do_rw_cdrom ide_cd_do_request
        ide-cd: cdrom_start_seek: remove unused argument block
        ide-cd: ide_do_rw_cdrom: add the catch-all bad request case to the if-else block
        ...
      42fdd144
    • Linus Torvalds's avatar
      Merge branch 'release-2.6.27' of... · 4314652b
      Linus Torvalds authored
      Merge branch 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-merge-2.6
      
      * 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-merge-2.6: (87 commits)
        Fix FADT parsing
        Add the ability to reset the machine using the RESET_REG in ACPI's FADT table.
        ACPI: use dev_printk when possible
        PNPACPI: add support for HP vendor-specific CCSR descriptors
        PNP: avoid legacy IDE IRQs
        PNP: convert resource options to single linked list
        ISAPNP: handle independent options following dependent ones
        PNP: remove extra 0x100 bit from option priority
        PNP: support optional IRQ resources
        PNP: rename pnp_register_*_resource() local variables
        PNPACPI: ignore _PRS interrupt numbers larger than PNP_IRQ_NR
        PNP: centralize resource option allocations
        PNP: remove redundant pnp_can_configure() check
        PNP: make resource assignment functions return 0 (success) or -EBUSY (failure)
        PNP: in debug resource dump, make empty list obvious
        PNP: improve resource assignment debug
        PNP: increase I/O port & memory option address sizes
        PNP: introduce pnp_irq_mask_t typedef
        PNP: make resource option structures private to PNP subsystem
        PNP: define PNP-specific IORESOURCE_IO_* flags alongside IRQ, DMA, MEM
        ...
      4314652b
    • Martin K. Petersen's avatar
      block: Trivial fix for blk_integrity_rq() · d442cc44
      Martin K. Petersen authored
      Fail integrity check gracefully when request does not have a bio
      attached (BLOCK_PC).
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d442cc44
    • Linus Torvalds's avatar
      Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6 · 8df1b049
      Linus Torvalds authored
      * git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (82 commits)
        NFSv4: Remove BKL from the nfsv4 state recovery
        SUNRPC: Remove the BKL from the callback functions
        NFS: Remove BKL from the readdir code
        NFS: Remove BKL from the symlink code
        NFS: Remove BKL from the sillydelete operations
        NFS: Remove the BKL from the rename, rmdir and unlink operations
        NFS: Remove BKL from NFS lookup code
        NFS: Remove the BKL from nfs_link()
        NFS: Remove the BKL from the inode creation operations
        NFS: Remove BKL usage from open()
        NFS: Remove BKL usage from the write path
        NFS: Remove the BKL from the permission checking code
        NFS: Remove attribute update related BKL references
        NFS: Remove BKL requirement from attribute updates
        NFS: Protect inode->i_nlink updates using inode->i_lock
        nfs: set correct fl_len in nlmclnt_test()
        SUNRPC: Support registering IPv6 interfaces with local rpcbind daemon
        SUNRPC: Refactor rpcb_register to make rpcbindv4 support easier
        SUNRPC: None of rpcb_create's callers wants a privileged source port
        SUNRPC: Introduce a specific rpcb_create for contacting localhost
        ...
      8df1b049
    • Jan Beulich's avatar
      Fix FADT parsing · 01a5bba5
      Jan Beulich authored
      The (1.0 inherited) separate length fields in the FADT are byte granular.
      Further, PM1a/b may have distinct lengths and live in distinct address spaces.
       acpi_tb_convert_fadt() should account for all of these conditions.
      
      Apart from these changes I'm puzzled by the fact that, not just for
      acpi_gbl_xpm1{a,b}_enable, acpi_hw_low_level_{read,write}() get an explicit
      size passed rather than using the size found in the passed GAS.  What happens
      on a platform that defines PM1{a,b} wider than 16 bits?  Of course,
      acpi_hw_low_level_{read,write}() at present are entirely un-prepared to deal
      with sizes other than 8, 16, or 32, not to speak of a non-zero bit_offset or
      access_width...
      Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Cc: Len Brown <lenb@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      01a5bba5
    • Aaron Durbin's avatar
      Add the ability to reset the machine using the RESET_REG in ACPI's FADT table. · 4d387043
      Aaron Durbin authored
      Signed-off-by: default avatarAaron Durbin <adurbin@google.com>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      4d387043
    • Bjorn Helgaas's avatar
      ACPI: use dev_printk when possible · c83642d5
      Bjorn Helgaas authored
      Convert printks to use dev_printk().  The most obvious change will
      be messages like this:
      
         -ACPI: PCI Interrupt 0000:00:04.0[A] -> GSI 31 (level, low) -> IRQ 31
         +cciss 0000:00:04.0: PCI INT A -> GSI 31 (level, low) -> IRQ 31
      Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      c83642d5
    • Bjorn Helgaas's avatar
      PNPACPI: add support for HP vendor-specific CCSR descriptors · 40ab4f4c
      Bjorn Helgaas authored
      The HP CCSR descriptor describes MMIO address space that should appear
      as a MEM resource.  This patch adds support for parsing these descriptors
      in the _CRS data.
      
      The visible effect of this is that these MEM resources will appear
      in /sys/devices/pnp0/.../resources, which means that "lspnp -v" will
      report it, user applications can use this to locate device CSR space,
      and kernel drivers can use the normal PNP resource accessors to
      locate them.
      Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      40ab4f4c
    • Bjorn Helgaas's avatar
      PNP: avoid legacy IDE IRQs · 84684c74
      Bjorn Helgaas authored
      If an IDE controller is in compatibility mode, it expects to use
      IRQs 14 and 15, so PNP should avoid them.
      
      This patch should resolve this problem report:
        parallel driver grabs IRQ14 preventing legacy SFF ATA controller from working
        https://bugzilla.novell.com/show_bug.cgi?id=375836Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      84684c74
    • Bjorn Helgaas's avatar
      PNP: convert resource options to single linked list · 1f32ca31
      Bjorn Helgaas authored
      ISAPNP, PNPBIOS, and ACPI describe the "possible resource settings" of
      a device, i.e., the possibilities an OS bus driver has when it assigns
      I/O port, MMIO, and other resources to the device.
      
      PNP used to maintain this "possible resource setting" information in
      one independent option structure and a list of dependent option
      structures for each device.  Each of these option structures had lists
      of I/O, memory, IRQ, and DMA resources, for example:
      
        dev
          independent options
            ind-io0  -> ind-io1  ...
            ind-mem0 -> ind-mem1 ...
            ...
          dependent option set 0
            dep0-io0  -> dep0-io1  ...
            dep0-mem0 -> dep0-mem1 ...
            ...
          dependent option set 1
            dep1-io0  -> dep1-io1  ...
            dep1-mem0 -> dep1-mem1 ...
            ...
          ...
      
      This data structure was designed for ISAPNP, where the OS configures
      device resource settings by writing directly to configuration
      registers.  The OS can write the registers in arbitrary order much
      like it writes PCI BARs.
      
      However, for PNPBIOS and ACPI devices, the OS uses firmware interfaces
      that perform device configuration, and it is important to pass the
      desired settings to those interfaces in the correct order.  The OS
      learns the correct order by using firmware interfaces that return the
      "current resource settings" and "possible resource settings," but the
      option structures above doesn't store the ordering information.
      
      This patch replaces the independent and dependent lists with a single
      list of options.  For example, a device might have possible resource
      settings like this:
      
        dev
          options
            ind-io0 -> dep0-io0 -> dep1->io0 -> ind-io1 ...
      
      All the possible settings are in the same list, in the order they
      come from the firmware "possible resource settings" list.  Each entry
      is tagged with an independent/dependent flag.  Dependent entries also
      have a "set number" and an optional priority value.  All dependent
      entries must be assigned from the same set.  For example, the OS can
      use all the entries from dependent set 0, or all the entries from
      dependent set 1, but it cannot mix entries from set 0 with entries
      from set 1.
      
      Prior to this patch PNP didn't keep track of the order of this list,
      and it assigned all independent options first, then all dependent
      ones.  Using the example above, that resulted in a "desired
      configuration" list like this:
      
        ind->io0 -> ind->io1 -> depN-io0 ...
      
      instead of the list the firmware expects, which looks like this:
      
        ind->io0 -> depN-io0 -> ind-io1 ...
      Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Acked-by: default avatarRene Herman <rene.herman@gmail.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      1f32ca31
    • Bjorn Helgaas's avatar
      ISAPNP: handle independent options following dependent ones · bbe413b4
      Bjorn Helgaas authored
      The ISAPNP spec recommends that independent options precede
      dependent ones, but this is not actually required.  The current
      ISAPNP code incorrectly puts such trailing independent options
      at the end of the last dependent option list.
      
      This patch fixes that bug by resetting the current option list
      to the independent list when we see an "End Dependent Functions"
      tag.  PNPBIOS and PNPACPI handle this the same way.
      Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Acked-by: default avatarRene Herman <rene.herman@gmail.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      bbe413b4
    • Bjorn Helgaas's avatar
      PNP: remove extra 0x100 bit from option priority · e2a1a6f1
      Bjorn Helgaas authored
      When building resource options, ISAPNP and PNPBIOS set the priority
      to something like "0x100 | PNP_RES_PRIORITY_ACCEPTABLE", but we
      immediately mask off the 0x100 again in pnp_build_option(), so that
      bit looks superfluous.
      
      Thanks to Rene Herman <rene.herman@gmail.com> for pointing this out.
      Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Acked-by: default avatarRene Herman <rene.herman@gmail.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      e2a1a6f1
    • Bjorn Helgaas's avatar
      PNP: support optional IRQ resources · d5ebde6e
      Bjorn Helgaas authored
      This patch adds an IORESOURCE_IRQ_OPTIONAL flag for use when
      assigning resources to a device.  If the flag is set and we are
      unable to assign an IRQ to the device, we can leave the IRQ
      disabled but allow the overall resource allocation to succeed.
      
      Some devices request an IRQ, but can run without an IRQ
      (possibly with degraded performance).  This flag lets us run
      the device without the IRQ instead of just leaving the
      device disabled.
      
      This is a reimplementation of this previous change by Rene
      Herman <rene.herman@gmail.com>:
          http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b73a223661ed137c5d3d2635f954382e94f5a43
      
      I reimplemented this for two reasons:
          - to prepare for converting all resource options into a single linked
            list, as opposed to the per-resource-type lists we have now, and
          - to preserve the order and number of resource options.
      
      In PNPBIOS and ACPI, we configure a device by giving firmware a
      list of resource assignments.  It is important that this list
      has exactly the same number of resources, in the same order,
      as the "template" list we got from the firmware in the first
      place.
      
      The problem of a sound card MPU401 being left disabled for want of
      an IRQ was reported by Uwe Bugla <uwe.bugla@gmx.de>.
      Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Acked-by: default avatarRene Herman <rene.herman@gmail.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      d5ebde6e
    • Bjorn Helgaas's avatar
      PNP: rename pnp_register_*_resource() local variables · 2d29a7a7
      Bjorn Helgaas authored
      No functional change; just rename "data" to something more
      descriptive.
      Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Acked-by: default avatarRene Herman <rene.herman@gmail.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      2d29a7a7
    • Bjorn Helgaas's avatar
      PNPACPI: ignore _PRS interrupt numbers larger than PNP_IRQ_NR · fe2cf598
      Bjorn Helgaas authored
      ACPI Extended Interrupt Descriptors can encode 32-bit interrupt
      numbers, so an interrupt number may exceed the size of the bitmap
      we use to track possible IRQ settings.
      
      To avoid corrupting memory, complain and ignore too-large interrupt
      numbers.
      
      There's similar code in pnpacpi_parse_irq_option(), but I didn't
      change that because the small IRQ descriptor can only encode
      IRQs 0-15, which do not exceed bitmap size.
      
      In the future, we could handle IRQ numbers greater than PNP_IRQ_NR
      by replacing the bitmap with a table or list.
      Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Acked-by: default avatarRene Herman <rene.herman@gmail.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      fe2cf598
    • Bjorn Helgaas's avatar
      PNP: centralize resource option allocations · c227536b
      Bjorn Helgaas authored
      This patch moves all the option allocations (pnp_mem, pnp_port, etc)
      into the pnp_register_{mem,port,irq,dma}_resource() functions.  This
      will make it easier to rework the option data structures.
      
      The non-trivial part of this patch is the IRQ handling.  The backends
      have to allocate a local pnp_irq_mask_t bitmap, populate it, and pass
      a pointer to pnp_register_irq_resource().
      Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Acked-by: default avatarRene Herman <rene.herman@gmail.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      c227536b