1. 29 Apr, 2008 16 commits
    • Badari Pulavarty's avatar
      [POWERPC] Update lmb data structures for hotplug memory add/remove · 98d5c21c
      Badari Pulavarty authored
      The powerpc kernel maintains information about logical memory blocks
      in the lmb.memory structure, which is initialized and updated at boot
      time, but not when memory is added or removed while the kernel is
      running.
      
      This adds a hotplug memory notifier which updates lmb.memory when
      memory is added or removed.  This information is useful for eHEA
      driver to find out the memory layout and holes.
      
      NOTE: No special locking is needed for lmb_add() and lmb_remove().
      Calls to these are serialized by caller. (pSeries_reconfig_chain).
      Signed-off-by: default avatarBadari Pulavarty <pbadari@us.ibm.com>
      Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      98d5c21c
    • Badari Pulavarty's avatar
      [POWERPC] Hotplug memory remove notifications for powerpc · 57b53926
      Badari Pulavarty authored
      Hotplug memory remove notifier for 64-bit powerpc.  This gets invoked
      by writing to /proc/ppc64/ofdt the string "remove_node " followed by
      the firmware device tree pathname of the node that needs to be removed.
      
      In response, this adjusts the sections and removes sysfs entries by
      calling __remove_pages().  Then it calls arch-specific code to get rid
      of the hardware MMU mappings for the section of memory.
      Signed-off-by: default avatarBadari Pulavarty <pbadari@us.ibm.com>
      Reviewed-by: default avatarMichael Ellerman <michael@ellerman.id.au>
      Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      57b53926
    • Étienne Bersac's avatar
      [POWERPC] windfarm: Add PowerMac 12,1 support · 80ff974d
      Étienne Bersac authored
      This implements a new driver named windfarm_pm121, which drives the
      fans on PowerMac 12,1 machines : iMac G5 iSight (rev C) 17" and
      20".  It's based on the windfarm_pm81 driver from Benjamin
      Herrenschmidt.
      
      This includes fixes from David Woodhouse correcting the names of some
      of the sensors.
      Signed-off-by: default avatarÉtienne Bersac <bersace@gmail.com>
      Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      80ff974d
    • Tony Breeds's avatar
      [POWERPC] Fix building of pmac32 when CONFIG_NVRAM=m · 21e38dfe
      Tony Breeds authored
      Kamalesh Babulal (kamalesh@linux.vnet.ibm.com) reports that CONFIG_NVRAM=m
      is valid in terms of Kconfig but fails to build with:
        Building modules, stage 2.
        MODPOST 1401 modules
      ERROR: "pmac_newworld" [arch/powerpc/platforms/powermac/nvram.ko] undefined!
      ERROR: "__alloc_bootmem" [arch/powerpc/platforms/powermac/nvram.ko] undefined!
      make[1]: *** [__modpost] Error
      
      The arch/powerpc/platforms/powermac/nvram.c code really needs to be
      builtin, but as its compilation is dependent on a generic Kconfig
      symbol we force nvram.c to be builtin if CONFIG_NVRAM is 'y' or 'm'.
      Signed-off-by: default avatarTony Breeds <tony@bakeyournoodle.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      21e38dfe
    • Kumar Gala's avatar
      [POWERPC] Add IRQSTACKS support on ppc32 · 85218827
      Kumar Gala authored
      This makes it possible to use separate stacks for hard and soft IRQs
      on 32-bit powerpc as well as on 64-bit.  The code for 32-bit is just
      the 32-bit analog of the 64-bit code.
      
      * Added allocation and initialization of the irq stacks.  We limit the
        stacks to be in lowmem for ppc32.
      * Implemented ppc32 versions of call_do_softirq() and call_handle_irq()
        to switch the stack pointers
      * Reworked how we do stack overflow detection.  We now keep around the
        limit of the stack in the thread_struct and compare against the limit
        to see if we've overflowed.  We can now use this on ppc64 if desired.
      
      [ paulus@samba.org: Fixed bug on 6xx where we need to reload r9 with the
        thread_info pointer. ]
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      85218827
    • Paul Mackerras's avatar
      [POWERPC] Use __always_inline for xchg* and cmpxchg* · dd18434f
      Paul Mackerras authored
      This changes the definitions of the xchg and cmpxchg families of
      functions in include/asm-powerpc/system.h to be marked __always_inline
      rather than __inline__.  The reason for doing this is that we rely on
      the compiler inlining them in order to eliminate the references to
      __xchg_called_with_bad_pointer and __cmpxchg_called_with_bad_pointer,
      which are deliberately left undefined.  Thus this change will enable
      us to make the inline keyword be just a hint rather than a directive.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      dd18434f
    • Paul Mackerras's avatar
      [POWERPC] Add fast little-endian switch system call · 745a14cc
      Paul Mackerras authored
      This adds a system call on 64-bit platforms for switching between
      little-endian and big-endian modes that is much faster than doing a
      prctl call.  This system call is handled as a special case right at
      the start of the system call entry code, and because it is a special
      case, it uses a system call number which is out of the range of
      normal system calls, namely 0x1ebe.
      
      Measurements with lmbench on a 4.2GHz POWER6 showed no measurable
      change in the speed of normal system calls with this patch.
      
      Switching endianness with this new system call takes around 60ns on a
      4.2GHz POWER6, compared with around 300ns to switch endian mode with a
      prctl.  This can provide a significant performance advantage for
      emulators for little-endian architectures that want to switch between
      big-endian and little-endian mode frequently, e.g. because they are
      generating instructions sequences on the fly and they want to run
      those sequences in little-endian mode.
      
      The other thing about this system call is that it doesn't clobber as
      many registers as a normal system call.  It only clobbers r12.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      745a14cc
    • Harvey Harrison's avatar
    • Harvey Harrison's avatar
      media: fix integer as NULL pointer warnings · a6a3a17b
      Harvey Harrison authored
      drivers/media/video/v4l2-common.c:719:16: warning: Using plain integer as NULL pointer
      drivers/media/video/au0828/au0828-dvb.c:122:19: warning: Using plain integer as NULL pointer
      drivers/media/video/ivtv/ivtv-yuv.c:1101:22: warning: Using plain integer as NULL pointer
      drivers/media/video/ivtv/ivtv-yuv.c:1102:23: warning: Using plain integer as NULL pointer
      drivers/media/video/pvrusb2/pvrusb2-audio.c:78:39: warning: Using plain integer as NULL pointer
      drivers/media/video/pvrusb2/pvrusb2-video-v4l.c:84:39: warning: Using plain integer as NULL pointer
      drivers/media/video/pvrusb2/pvrusb2-v4l2.c:1264:9: warning: Using plain integer as NULL pointer
      drivers/media/video/pvrusb2/pvrusb2-context.c:197:28: warning: Using plain integer as NULL pointer
      drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c:126:39: warning: Using plain integer as NULL pointer
      drivers/media/video/pvrusb2/pvrusb2-dvb.c:133:32: warning: Using plain integer as NULL pointer
      drivers/media/video/pvrusb2/pvrusb2-dvb.c:145:31: warning: Using plain integer as NULL pointer
      drivers/media/video/pvrusb2/pvrusb2-dvb.c:177:55: warning: Using plain integer as NULL pointer
      drivers/media/video/videobuf-core.c:100:9: warning: Using plain integer as NULL pointer
      Signed-off-by: default avatarHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a6a3a17b
    • Harvey Harrison's avatar
      scsi: fix integer as NULL pointer warnings · 172c122d
      Harvey Harrison authored
      drivers/scsi/aic7xxx/aic7770_osm.c:53:58: warning: Using plain integer as NULL pointer
      drivers/scsi/aic7xxx/aic7xxx_osm_pci.c:355:47: warning: Using plain integer as NULL pointer
      drivers/scsi/aic7xxx/aic7xxx_osm_pci.c:372:55: warning: Using plain integer as NULL pointer
      drivers/scsi/aha152x.c:997:28: warning: Using plain integer as NULL pointer
      drivers/scsi/aha152x.c:1003:28: warning: Using plain integer as NULL pointer
      drivers/scsi/aha152x.c:1165:46: warning: Using plain integer as NULL pointer
      drivers/scsi/fdomain.c:1446:40: warning: Using plain integer as NULL pointer
      drivers/scsi/sym53c8xx_2/sym_hipd.c:1650:51: warning: Using plain integer as NULL pointer
      drivers/scsi/sym53c8xx_2/sym_hipd.c:3171:42: warning: Using plain integer as NULL pointer
      drivers/scsi/sym53c8xx_2/sym_hipd.c:5732:52: warning: Using plain integer as NULL pointer
      drivers/scsi/ncr53c8xx.c:8189:31: warning: Using plain integer as NULL pointer
      drivers/scsi/ncr53c8xx.c:8225:34: warning: Using plain integer as NULL pointer
      drivers/scsi/dpt_i2o.c:156:32: warning: Using plain integer as NULL pointer
      drivers/scsi/ultrastor.c:954:42: warning: Using plain integer as NULL pointer
      drivers/scsi/ultrastor.c:1104:18: warning: Using plain integer as NULL pointer
      Signed-off-by: default avatarHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      172c122d
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 · 8ab68ab4
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (35 commits)
        siimage: coding style cleanup (take 2)
        ide-cd: clean up cdrom_analyze_sense_data()
        ide-cd: fix test unsigned var < 0
        ide: add TSSTcorp CDDVDW SH-S202H to ivb_list[]
        piix: add Asus Eee 701 controller to short cable list
        ARM: always select HAVE_IDE
        remove the broken ETRAX_IDE driver
        ide: remove ->dma_prdtable field from ide_hwif_t
        ide: remove ->dma_vendor{1,3} fields from ide_hwif_t
        scc_pata: add ->dma_host_set and ->dma_start methods
        ide: skip "VLB sync" if host uses MMIO
        ide: add ide_pad_transfer() helper
        ide: remove ->INW and ->OUTW methods
        ide: use IDE I/O helpers directly in ide_tf_{load,read}()
        ns87415: add ->tf_read method
        scc_pata: add ->tf_{load,read} methods
        ide-h8300: add ->tf_{load,read} methods
        ide-cris: add ->tf_{load,read} methods
        ide: add ->tf_load and ->tf_read methods
        ide: move ide_tf_{load,read} to ide-iops.c
        ...
      8ab68ab4
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild · f05c463b
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild:
        kconfig: add named choice group
        kconfig: fix choice dependency check
        kconifg: 'select' considered less evil
        dontdiff: ignore timeconst.h
        dontdiff: add modules.order
        kbuild: fix unportability in gen_initramfs_list.sh
        kbuild: fix help output to show correct arch
        kbuild: show defconfig subdirs in make help
        kconfig: reversed borderlines in inputbox
      f05c463b
    • Harvey Harrison's avatar
      drivers: atm, char fix integer as NULL pointer warnings · 8da56309
      Harvey Harrison authored
      drivers/atm/nicstar.c:418:25: warning: Using plain integer as NULL pointer
      drivers/char/drm/r128_cce.c:820:25: warning: Using plain integer as NULL pointer
      drivers/char/tty_io.c:1183:10: warning: Using plain integer as NULL pointer
      Signed-off-by: default avatarHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8da56309
    • Harvey Harrison's avatar
      mm: fix integer as NULL pointer warnings · 7b8ee84d
      Harvey Harrison authored
      mm/hugetlb.c:207:11: warning: Using plain integer as NULL pointer
      Signed-off-by: default avatarHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7b8ee84d
    • Harvey Harrison's avatar
      kernel: fix integer as NULL pointer warnings · b331d259
      Harvey Harrison authored
      kernel/cpuset.c:1268:52: warning: Using plain integer as NULL pointer
      kernel/pid_namespace.c:95:24: warning: Using plain integer as NULL pointer
      Signed-off-by: default avatarHarvey Harrison <harvey.harrison@gmail.com>
      Reviewed-by: default avatarPaul Jackson <pj@sgi.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b331d259
    • Harvey Harrison's avatar
      init: fix integer as NULL pointer warnings · d613c3e2
      Harvey Harrison authored
      init/do_mounts_rd.c:215:13: warning: Using plain integer as NULL pointer
      init/do_mounts_md.c:136:45: warning: Using plain integer as NULL pointer
      Signed-off-by: default avatarHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d613c3e2
  2. 28 Apr, 2008 24 commits