1. 26 5月, 2010 9 次提交
    • K
      driver core: add devname module aliases to allow module on-demand auto-loading · 578454ff
      Kay Sievers 提交于
      This adds:
        alias: devname:<name>
      to some common kernel modules, which will allow the on-demand loading
      of the kernel module when the device node is accessed.
      
      Ideally all these modules would be compiled-in, but distros seems too
      much in love with their modularization that we need to cover the common
      cases with this new facility. It will allow us to remove a bunch of pretty
      useless init scripts and modprobes from init scripts.
      
      The static device node aliases will be carried in the module itself. The
      program depmod will extract this information to a file in the module directory:
        $ cat /lib/modules/2.6.34-00650-g537b60d1-dirty/modules.devname
        # Device nodes to trigger on-demand module loading.
        microcode cpu/microcode c10:184
        fuse fuse c10:229
        ppp_generic ppp c108:0
        tun net/tun c10:200
        dm_mod mapper/control c10:235
      
      Udev will pick up the depmod created file on startup and create all the
      static device nodes which the kernel modules specify, so that these modules
      get automatically loaded when the device node is accessed:
        $ /sbin/udevd --debug
        ...
        static_dev_create_from_modules: mknod '/dev/cpu/microcode' c10:184
        static_dev_create_from_modules: mknod '/dev/fuse' c10:229
        static_dev_create_from_modules: mknod '/dev/ppp' c108:0
        static_dev_create_from_modules: mknod '/dev/net/tun' c10:200
        static_dev_create_from_modules: mknod '/dev/mapper/control' c10:235
        udev_rules_apply_static_dev_perms: chmod '/dev/net/tun' 0666
        udev_rules_apply_static_dev_perms: chmod '/dev/fuse' 0666
      
      A few device nodes are switched to statically allocated numbers, to allow
      the static nodes to work. This might also useful for systems which still run
      a plain static /dev, which is completely unsafe to use with any dynamic minor
      numbers.
      
      Note:
      The devname aliases must be limited to the *common* and *single*instance*
      device nodes, like the misc devices, and never be used for conceptually limited
      systems like the loop devices, which should rather get fixed properly and get a
      control node for losetup to talk to, instead of creating a random number of
      device nodes in advance, regardless if they are ever used.
      
      This facility is to hide the mess distros are creating with too modualized
      kernels, and just to hide that these modules are not compiled-in, and not to
      paper-over broken concepts. Thanks! :)
      
      Cc: Greg Kroah-Hartman <gregkh@suse.de>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Miklos Szeredi <miklos@szeredi.hu>
      Cc: Chris Mason <chris.mason@oracle.com>
      Cc: Alasdair G Kergon <agk@redhat.com>
      Cc: Tigran Aivazian <tigran@aivazian.fsnet.co.uk>
      Cc: Ian Kent <raven@themaw.net>
      Signed-Off-By: NKay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      578454ff
    • L
      Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm · ec96e2fe
      Linus Torvalds 提交于
      * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (103 commits)
        ARM: 6141/1: Add audio support part in arch/arm/mach-w90x900
        ARM: 5939/1: ARM: Add option CMDLINE_FORCE to force usage of the in-kernel cmdline
        ARM: 6140/1: silence a bogus sparse warning in unwind.c
        ARM: mach-at91: duplicated include
        ARM: arch/arm/nwfpe/fpsr.h: Checkpatch cleanup
        ARM: arch/arm/mach-shark/pci.c: Checkpatch cleanup
        ARM: arch/arm/nwfpe/ChangeLog: Checkpatch cleanup
        ARM: arch/arm/mach-sa1100/leds.c: Checkpatch cleanup
        ARM: arch/arm/mach-h720x/common.h: Checkpatch cleanup
        ARM: arch/arm/mach-footbridge/ebsa285-pci.c: Checkpatch cleanup
        ARM: arch/arm/mach-clps711x/Makefile.boot: Checkpatch cleanup
        ARM: arch/arm/boot/bootp/bootp.lds: Checkpatch cleanup
        ARM: SPEAR6xx: remove duplicated #include
        ARM: s3c6400_defconfig: Add NAND driver
        ARM: s3c6400_defconfig: enable sound as modules
        ARM: s3c6400_defconfig: enable power management
        ARM: s5pv210_defconfig: Update s5pv210_defconfig to v2.6.34
        ARM: s5pc110_defconfig: Update s5pc110_defconfig to v2.6.34
        ARM: s5p6442_defconfig: Update s5p6442_defconfig to v2.6.34
        ARM: s5p6440_defconfig: Update s5p6440_defconfig to v2.6.34
        ...
      ec96e2fe
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 8e9815a0
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        RDMA/nes: Fix incorrect unlock in nes_process_mac_intr()
        RDMA/nes: Async event for closed QP causes crash
        RDMA/nes: Have ethtool read hardware registers for rx/tx stats
        RDMA/cxgb4: Only insert sq qid in lookup table
        RDMA/cxgb4: Support IB_WR_READ_WITH_INV opcode
        RDMA/cxgb4: Set fence flag for inv-local-stag work requests
        RDMA/cxgb4: Update some HW limits
        RDMA/cxgb4: Don't limit fastreg page list depth
        RDMA/cxgb4: Return proper errors in fastreg mr/pbl allocation
        RDMA/cxgb4: Fix overflow bug in CQ arm
        RDMA/cxgb4: Optimize CQ overflow detection
        RDMA/cxgb4: CQ size must be IQ size - 2
        RDMA/cxgb4: Register RDMA provider based on LLD state_change events
        RDMA/cxgb4: Detach from the LLD after unregistering RDMA device
        IB/ipath: Remove support for QLogic PCIe QLE devices
        IB/qib: Add new qib driver for QLogic PCIe InfiniBand adapters
        IB/mad: Make needlessly global mad_sendq_size/mad_recvq_size static
        IB/core: Allow device-specific per-port sysfs files
        mlx4_core: Clean up mlx4_alloc_icm() a bit
        mlx4_core: Fix possible chunk sg list overflow in mlx4_alloc_icm()
      8e9815a0
    • L
      Merge branch 'next-spi' of git://git.secretlab.ca/git/linux-2.6 · 702c0b04
      Linus Torvalds 提交于
      * 'next-spi' of git://git.secretlab.ca/git/linux-2.6:
        spi/xilinx: Fix compile error
        spi/davinci: Fix clock prescale factor computation
        spi: move bitbang txrx utility functions to private header
        spi/mpc5121: Add SPI master driver for MPC5121 PSC
        powerpc/mpc5121: move PSC FIFO memory init to platform code
        spi/ep93xx: implemented driver for Cirrus EP93xx SPI controller
        Documentation/spi/* compile warning fix
        spi/omap2_mcspi: Check params before dereference or use
        spi/omap2_mcspi: add turbo mode support
        spi/omap2_mcspi: change default DMA_MIN_BYTES value to 160
        spi/pl022: fix stop queue procedure
        spi/pl022: add support for the PL023 derivate
        spi/pl022: fix up differences between ARM and ST versions
        spi/spi_mpc8xxx: Do not use map_tx_dma to unmap rx_dma
        spi/spi_mpc8xxx: Fix QE mode Litte Endian
        spi/spi_mpc8xxx: fix potential memory corruption.
      702c0b04
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · c19eb8f0
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        arch/m68knommu/platform/68360/commproc.c: Checkpatch cleanup
        arch/m68knommu/mm/fault.c: Checkpatch cleanup
        m68knommu: improve short help of m68knommu/Kconfig/RAMSIZE for '0' case
        m68knommu: remove un-used mcfsmc.h
        m68knommu: add smc91x support for ColdFire NETtel boards
        m68knommu: add smc91x support to ColdFire 5249 platform
        m68knommu: remove size limit on non-MMU TASK_SIZE
        m68knommu: fix broken use of BUAD_TABLE_SIZE in 68328serial driver
        m68knommu: Coldfire QSPI platform support
      c19eb8f0
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 · 99765cc7
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6:
        regulator: return set_mode is same mode is requested
        Regulators: ab3100/bq24022: add a missing .owner field in regulator_desc
        twl6030: regulator: Remove vsel tables and use formula for calculation
        mc13783-regulator: fix vaild voltage range checking for mc13783_fixed_regulator_set_voltage
        regulator: use voltage number array in 88pm860x
        regulator: make 88pm860x sharing one driver structure
        regulator: simplify regulator_register() error handling
        regulator: fix unset_regulator_supplies() to remove all matches
        regulator: prevent registration of matching regulator consumer supplies
        regulator: Allow regulator-regulator supplies to be specified by name
      99765cc7
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog · 51e618c3
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
        watchdog: Driver for the watchdog timer on Freescale IMX2 (and later) processors.
        watchdog: s3c2410_wdt - Fix on handling of the request_mem_region fail
        watchdog: s3c2410_wdt - Add extra option to include watchdog for Samsung SoCs
        iTCO_wdt: fix TCO V1 timeout values and limits
        watchdog: twl4030_wdt: Disable watchdog during probing
        watchdog: update/improve/consolidate watchdog driver
        watchdog: booke_wdt: fix ioctl status flags
        watchdog: fix several MODULE_PARM_DESC strings
        watchdog: bfin: use new common Blackfin watchdog header
      51e618c3
    • R
    • C
      RDMA/nes: Fix incorrect unlock in nes_process_mac_intr() · b17e0969
      Chien Tung 提交于
      Commit ce6e74f2 ("RDMA/nes: Make nesadapter->phy_lock usage
      consistent") introduced a problem where phy_lock was only unlocked
      within an if statement and so nes_process_mac_intr() could return with
      phy_lock still held.  Fix this.
      
      This was discovered because of the sparse warning:
      
          drivers/infiniband/hw/nes/nes_hw.c:2643:9: warning: context imbalance in 'nes_process_mac_intr' - different lock contexts for basic block
      Reported-by: NRoland Dreier <rdreier@cisco.com>
      Signed-off-by: NChien Tung <chien.tin.tung@intel.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      b17e0969
  2. 25 5月, 2010 31 次提交