Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)
  fs: Merge split strings
  treewide: fix potentially dangerous trailing ';' in #defined values/expressions
  uwb: Fix misspelling of neighbourhood in comment
  net, netfilter: Remove redundant goto in ebt_ulog_packet
  trivial: don't touch files that are removed in the staging tree
  lib/vsprintf: replace link to Draft by final RFC number
  doc: Kconfig: `to be' -> `be'
  doc: Kconfig: Typo: square -> squared
  doc: Konfig: Documentation/power/{pm => apm-acpi}.txt
  drivers/net: static should be at beginning of declaration
  drivers/media: static should be at beginning of declaration
  drivers/i2c: static should be at beginning of declaration
  XTENSA: static should be at beginning of declaration
  SH: static should be at beginning of declaration
  MIPS: static should be at beginning of declaration
  ARM: static should be at beginning of declaration
  rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check
  Update my e-mail address
  PCIe ASPM: forcedly -> forcibly
  gma500: push through device driver tree
  ...

Fix up trivial conflicts:
 - arch/arm/mach-ep93xx/dma-m2p.c (deleted)
 - drivers/gpio/gpio-ep93xx.c (renamed and context nearby)
 - drivers/net/r8169.c (just context changes)
This commit is contained in:
Linus Torvalds
2011-07-25 13:56:39 -07:00
384 changed files with 569 additions and 676 deletions

View File

@@ -73,8 +73,7 @@ Linas Vepstas <linas@austin.ibm.com>
Mark Brown <broonie@sirena.org.uk> Mark Brown <broonie@sirena.org.uk>
Matthieu CASTET <castet.matthieu@free.fr> Matthieu CASTET <castet.matthieu@free.fr>
Mayuresh Janorkar <mayur@ti.com> Mayuresh Janorkar <mayur@ti.com>
Michael Buesch <mb@bu3sch.de> Michael Buesch <m@bues.ch>
Michael Buesch <mbuesch@freenet.de>
Michel Dänzer <michel@tungstengraphics.com> Michel Dänzer <michel@tungstengraphics.com>
Mitesh shah <mshah@teja.com> Mitesh shah <mshah@teja.com>
Morten Welinder <terra@gnome.org> Morten Welinder <terra@gnome.org>

View File

@@ -210,7 +210,7 @@ for (i = 0; i &lt; reqbuf.count; i++)
<programlisting> <programlisting>
&v4l2-requestbuffers; reqbuf; &v4l2-requestbuffers; reqbuf;
/* Our current format uses 3 planes per buffer */ /* Our current format uses 3 planes per buffer */
#define FMT_NUM_PLANES = 3; #define FMT_NUM_PLANES = 3
struct { struct {
void *start[FMT_NUM_PLANES]; void *start[FMT_NUM_PLANES];

View File

@@ -5,8 +5,8 @@ Although RCU is usually used to protect read-mostly data structures,
it is possible to use RCU to provide dynamic non-maskable interrupt it is possible to use RCU to provide dynamic non-maskable interrupt
handlers, as well as dynamic irq handlers. This document describes handlers, as well as dynamic irq handlers. This document describes
how to do this, drawing loosely from Zwane Mwaikambo's NMI-timer how to do this, drawing loosely from Zwane Mwaikambo's NMI-timer
work in "arch/i386/oprofile/nmi_timer_int.c" and in work in "arch/x86/oprofile/nmi_timer_int.c" and in
"arch/i386/kernel/traps.c". "arch/x86/kernel/traps.c".
The relevant pieces of code are listed below, each followed by a The relevant pieces of code are listed below, each followed by a
brief explanation. brief explanation.

View File

@@ -214,7 +214,7 @@ replacing "/usr/src" with wherever you keep your Linux kernel source tree:
make config make config
make bzImage (or zImage) make bzImage (or zImage)
Then install "arch/i386/boot/bzImage" or "arch/i386/boot/zImage" as your Then install "arch/x86/boot/bzImage" or "arch/x86/boot/zImage" as your
standard kernel, run lilo if appropriate, and reboot. standard kernel, run lilo if appropriate, and reboot.
To create the necessary devices in /dev, the "make_rd" script included in To create the necessary devices in /dev, the "make_rd" script included in

View File

@@ -64,9 +64,9 @@ the RAM disk dynamically grows as data is being written into it, a size field
is not required. Bits 11 to 13 are not currently used and may as well be zero. is not required. Bits 11 to 13 are not currently used and may as well be zero.
These numbers are no magical secrets, as seen below: These numbers are no magical secrets, as seen below:
./arch/i386/kernel/setup.c:#define RAMDISK_IMAGE_START_MASK 0x07FF ./arch/x86/kernel/setup.c:#define RAMDISK_IMAGE_START_MASK 0x07FF
./arch/i386/kernel/setup.c:#define RAMDISK_PROMPT_FLAG 0x8000 ./arch/x86/kernel/setup.c:#define RAMDISK_PROMPT_FLAG 0x8000
./arch/i386/kernel/setup.c:#define RAMDISK_LOAD_FLAG 0x4000 ./arch/x86/kernel/setup.c:#define RAMDISK_LOAD_FLAG 0x4000
Consider a typical two floppy disk setup, where you will have the Consider a typical two floppy disk setup, where you will have the
kernel on disk one, and have already put a RAM disk image onto disk #2. kernel on disk one, and have already put a RAM disk image onto disk #2.
@@ -85,7 +85,7 @@ The command line equivalent is: "prompt_ramdisk=1"
Putting that together gives 2^15 + 2^14 + 0 = 49152 for an rdev word. Putting that together gives 2^15 + 2^14 + 0 = 49152 for an rdev word.
So to create disk one of the set, you would do: So to create disk one of the set, you would do:
/usr/src/linux# cat arch/i386/boot/zImage > /dev/fd0 /usr/src/linux# cat arch/x86/boot/zImage > /dev/fd0
/usr/src/linux# rdev /dev/fd0 /dev/fd0 /usr/src/linux# rdev /dev/fd0 /dev/fd0
/usr/src/linux# rdev -r /dev/fd0 49152 /usr/src/linux# rdev -r /dev/fd0 49152

View File

@@ -168,7 +168,7 @@ in-chipset dynamic frequency switching to policy->min, the upper limit
to policy->max, and -if supported- select a performance-oriented to policy->max, and -if supported- select a performance-oriented
setting when policy->policy is CPUFREQ_POLICY_PERFORMANCE, and a setting when policy->policy is CPUFREQ_POLICY_PERFORMANCE, and a
powersaving-oriented setting when CPUFREQ_POLICY_POWERSAVE. Also check powersaving-oriented setting when CPUFREQ_POLICY_POWERSAVE. Also check
the reference implementation in arch/i386/kernel/cpu/cpufreq/longrun.c the reference implementation in drivers/cpufreq/longrun.c

View File

View File

@@ -199,7 +199,7 @@ Files: drivers/staging/cs5535_gpio/*
Check: drivers/staging/cs5535_gpio/cs5535_gpio.c Check: drivers/staging/cs5535_gpio/cs5535_gpio.c
Why: A newer driver replaces this; it is drivers/gpio/cs5535-gpio.c, and Why: A newer driver replaces this; it is drivers/gpio/cs5535-gpio.c, and
integrates with the Linux GPIO subsystem. The old driver has been integrates with the Linux GPIO subsystem. The old driver has been
moved to staging, and will be removed altogether around 2.6.40. moved to staging, and will be removed altogether around 3.0.
Please test the new driver, and ensure that the functionality you Please test the new driver, and ensure that the functionality you
need and any bugfixes from the old driver are available in the new need and any bugfixes from the old driver are available in the new
one. one.
@@ -294,7 +294,7 @@ When: The schedule was July 2008, but it was decided that we are going to keep t
Why: The support code for the old firmware hurts code readability/maintainability Why: The support code for the old firmware hurts code readability/maintainability
and slightly hurts runtime performance. Bugfixes for the old firmware and slightly hurts runtime performance. Bugfixes for the old firmware
are not provided by Broadcom anymore. are not provided by Broadcom anymore.
Who: Michael Buesch <mb@bu3sch.de> Who: Michael Buesch <m@bues.ch>
--------------------------- ---------------------------
@@ -430,7 +430,7 @@ Who: Avi Kivity <avi@redhat.com>
---------------------------- ----------------------------
What: iwlwifi 50XX module parameters What: iwlwifi 50XX module parameters
When: 2.6.40 When: 3.0
Why: The "..50" modules parameters were used to configure 5000 series and Why: The "..50" modules parameters were used to configure 5000 series and
up devices; different set of module parameters also available for 4965 up devices; different set of module parameters also available for 4965
with same functionalities. Consolidate both set into single place with same functionalities. Consolidate both set into single place
@@ -441,7 +441,7 @@ Who: Wey-Yi Guy <wey-yi.w.guy@intel.com>
---------------------------- ----------------------------
What: iwl4965 alias support What: iwl4965 alias support
When: 2.6.40 When: 3.0
Why: Internal alias support has been present in module-init-tools for some Why: Internal alias support has been present in module-init-tools for some
time, the MODULE_ALIAS("iwl4965") boilerplate aliases can be removed time, the MODULE_ALIAS("iwl4965") boilerplate aliases can be removed
with no impact. with no impact.
@@ -482,7 +482,7 @@ Who: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
---------------------------- ----------------------------
What: iwlwifi disable_hw_scan module parameters What: iwlwifi disable_hw_scan module parameters
When: 2.6.40 When: 3.0
Why: Hareware scan is the prefer method for iwlwifi devices for Why: Hareware scan is the prefer method for iwlwifi devices for
scanning operation. Remove software scan support for all the scanning operation. Remove software scan support for all the
iwlwifi devices. iwlwifi devices.
@@ -493,7 +493,7 @@ Who: Wey-Yi Guy <wey-yi.w.guy@intel.com>
What: access to nfsd auth cache through sys_nfsservctl or '.' files What: access to nfsd auth cache through sys_nfsservctl or '.' files
in the 'nfsd' filesystem. in the 'nfsd' filesystem.
When: 2.6.40 When: 3.0
Why: This is a legacy interface which have been replaced by a more Why: This is a legacy interface which have been replaced by a more
dynamic cache. Continuing to maintain this interface is an dynamic cache. Continuing to maintain this interface is an
unnecessary burden. unnecessary burden.
@@ -519,7 +519,7 @@ Files: net/netfilter/xt_connlimit.c
---------------------------- ----------------------------
What: noswapaccount kernel command line parameter What: noswapaccount kernel command line parameter
When: 2.6.40 When: 3.0
Why: The original implementation of memsw feature enabled by Why: The original implementation of memsw feature enabled by
CONFIG_CGROUP_MEM_RES_CTLR_SWAP could be disabled by the noswapaccount CONFIG_CGROUP_MEM_RES_CTLR_SWAP could be disabled by the noswapaccount
kernel parameter (introduced in 2.6.29-rc1). Later on, this decision kernel parameter (introduced in 2.6.29-rc1). Later on, this decision
@@ -552,7 +552,7 @@ Who: Jean Delvare <khali@linux-fr.org>
---------------------------- ----------------------------
What: Support for UVCIOC_CTRL_ADD in the uvcvideo driver What: Support for UVCIOC_CTRL_ADD in the uvcvideo driver
When: 2.6.42 When: 3.2
Why: The information passed to the driver by this ioctl is now queried Why: The information passed to the driver by this ioctl is now queried
dynamically from the device. dynamically from the device.
Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
@@ -560,7 +560,7 @@ Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---------------------------- ----------------------------
What: Support for UVCIOC_CTRL_MAP_OLD in the uvcvideo driver What: Support for UVCIOC_CTRL_MAP_OLD in the uvcvideo driver
When: 2.6.42 When: 3.2
Why: Used only by applications compiled against older driver versions. Why: Used only by applications compiled against older driver versions.
Superseded by UVCIOC_CTRL_MAP which supports V4L2 menu controls. Superseded by UVCIOC_CTRL_MAP which supports V4L2 menu controls.
Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
@@ -568,7 +568,7 @@ Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---------------------------- ----------------------------
What: Support for UVCIOC_CTRL_GET and UVCIOC_CTRL_SET in the uvcvideo driver What: Support for UVCIOC_CTRL_GET and UVCIOC_CTRL_SET in the uvcvideo driver
When: 2.6.42 When: 3.2
Why: Superseded by the UVCIOC_CTRL_QUERY ioctl. Why: Superseded by the UVCIOC_CTRL_QUERY ioctl.
Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

View File

@@ -226,7 +226,7 @@ They depend on various facilities being available:
cdrecord. cdrecord.
e.g. e.g.
cdrecord dev=ATAPI:1,0,0 arch/i386/boot/image.iso cdrecord dev=ATAPI:1,0,0 arch/x86/boot/image.iso
For more information on isolinux, including how to create bootdisks For more information on isolinux, including how to create bootdisks
for prebuilt kernels, see http://syslinux.zytor.com/ for prebuilt kernels, see http://syslinux.zytor.com/

View File

@@ -110,7 +110,7 @@ V. Getting Logical Configuration Table
ENOBUFS Buffer not large enough. If this occurs, the required ENOBUFS Buffer not large enough. If this occurs, the required
buffer length is written into *(lct->reslen) buffer length is written into *(lct->reslen)
VI. Settting Parameters VI. Setting Parameters
SYNOPSIS SYNOPSIS

View File

@@ -506,7 +506,7 @@ to e.g. the Internet:
<ISDN subsystem - ISDN support -- HiSax> <ISDN subsystem - ISDN support -- HiSax>
make clean; make zImage; make modules; make modules_install make clean; make zImage; make modules; make modules_install
2. Install the new kernel 2. Install the new kernel
cp /usr/src/linux/arch/i386/boot/zImage /etc/kernel/linux.isdn cp /usr/src/linux/arch/x86/boot/zImage /etc/kernel/linux.isdn
vi /etc/lilo.conf vi /etc/lilo.conf
<add new kernel in the bootable image section> <add new kernel in the bootable image section>
lilo lilo

View File

@@ -441,7 +441,7 @@ more details, with real examples.
specified if first option are not supported. specified if first option are not supported.
Example: Example:
#arch/i386/kernel/Makefile #arch/x86/kernel/Makefile
vsyscall-flags += $(call cc-ldoption, -Wl$(comma)--hash-style=sysv) vsyscall-flags += $(call cc-ldoption, -Wl$(comma)--hash-style=sysv)
In the above example, vsyscall-flags will be assigned the option In the above example, vsyscall-flags will be assigned the option
@@ -460,7 +460,7 @@ more details, with real examples.
supported to use an optional second option. supported to use an optional second option.
Example: Example:
#arch/i386/Makefile #arch/x86/Makefile
cflags-y += $(call cc-option,-march=pentium-mmx,-march=i586) cflags-y += $(call cc-option,-march=pentium-mmx,-march=i586)
In the above example, cflags-y will be assigned the option In the above example, cflags-y will be assigned the option
@@ -522,7 +522,7 @@ more details, with real examples.
even though the option was accepted by gcc. even though the option was accepted by gcc.
Example: Example:
#arch/i386/Makefile #arch/x86/Makefile
cflags-y += $(shell \ cflags-y += $(shell \
if [ $(call cc-version) -ge 0300 ] ; then \ if [ $(call cc-version) -ge 0300 ] ; then \
echo "-mregparm=3"; fi ;) echo "-mregparm=3"; fi ;)
@@ -802,7 +802,7 @@ but in the architecture makefiles where the kbuild infrastructure
is not sufficient this sometimes needs to be explicit. is not sufficient this sometimes needs to be explicit.
Example: Example:
#arch/i386/boot/Makefile #arch/x86/boot/Makefile
subdir- := compressed/ subdir- := compressed/
The above assignment instructs kbuild to descend down in the The above assignment instructs kbuild to descend down in the
@@ -812,12 +812,12 @@ To support the clean infrastructure in the Makefiles that builds the
final bootimage there is an optional target named archclean: final bootimage there is an optional target named archclean:
Example: Example:
#arch/i386/Makefile #arch/x86/Makefile
archclean: archclean:
$(Q)$(MAKE) $(clean)=arch/i386/boot $(Q)$(MAKE) $(clean)=arch/x86/boot
When "make clean" is executed, make will descend down in arch/i386/boot, When "make clean" is executed, make will descend down in arch/x86/boot,
and clean as usual. The Makefile located in arch/i386/boot/ may use and clean as usual. The Makefile located in arch/x86/boot/ may use
the subdir- trick to descend further down. the subdir- trick to descend further down.
Note 1: arch/$(ARCH)/Makefile cannot use "subdir-", because that file is Note 1: arch/$(ARCH)/Makefile cannot use "subdir-", because that file is
@@ -882,7 +882,7 @@ When kbuild executes, the following steps are followed (roughly):
LDFLAGS_vmlinux uses the LDFLAGS_$@ support. LDFLAGS_vmlinux uses the LDFLAGS_$@ support.
Example: Example:
#arch/i386/Makefile #arch/x86/Makefile
LDFLAGS_vmlinux := -e stext LDFLAGS_vmlinux := -e stext
OBJCOPYFLAGS objcopy flags OBJCOPYFLAGS objcopy flags
@@ -920,14 +920,14 @@ When kbuild executes, the following steps are followed (roughly):
Often, the KBUILD_CFLAGS variable depends on the configuration. Often, the KBUILD_CFLAGS variable depends on the configuration.
Example: Example:
#arch/i386/Makefile #arch/x86/Makefile
cflags-$(CONFIG_M386) += -march=i386 cflags-$(CONFIG_M386) += -march=i386
KBUILD_CFLAGS += $(cflags-y) KBUILD_CFLAGS += $(cflags-y)
Many arch Makefiles dynamically run the target C compiler to Many arch Makefiles dynamically run the target C compiler to
probe supported options: probe supported options:
#arch/i386/Makefile #arch/x86/Makefile
... ...
cflags-$(CONFIG_MPENTIUMII) += $(call cc-option,\ cflags-$(CONFIG_MPENTIUMII) += $(call cc-option,\
@@ -1038,8 +1038,8 @@ When kbuild executes, the following steps are followed (roughly):
into the arch/$(ARCH)/boot/Makefile. into the arch/$(ARCH)/boot/Makefile.
Example: Example:
#arch/i386/Makefile #arch/x86/Makefile
boot := arch/i386/boot boot := arch/x86/boot
bzImage: vmlinux bzImage: vmlinux
$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
@@ -1051,7 +1051,7 @@ When kbuild executes, the following steps are followed (roughly):
To support this, $(archhelp) must be defined. To support this, $(archhelp) must be defined.
Example: Example:
#arch/i386/Makefile #arch/x86/Makefile
define archhelp define archhelp
echo '* bzImage - Image (arch/$(ARCH)/boot/bzImage)' echo '* bzImage - Image (arch/$(ARCH)/boot/bzImage)'
endif endif
@@ -1065,7 +1065,7 @@ When kbuild executes, the following steps are followed (roughly):
from vmlinux. from vmlinux.
Example: Example:
#arch/i386/Makefile #arch/x86/Makefile
all: bzImage all: bzImage
When "make" is executed without arguments, bzImage will be built. When "make" is executed without arguments, bzImage will be built.
@@ -1083,7 +1083,7 @@ When kbuild executes, the following steps are followed (roughly):
2) kbuild knows what files to delete during "make clean" 2) kbuild knows what files to delete during "make clean"
Example: Example:
#arch/i386/kernel/Makefile #arch/x86/kernel/Makefile
extra-y := head.o init_task.o extra-y := head.o init_task.o
In this example, extra-y is used to list object files that In this example, extra-y is used to list object files that
@@ -1133,7 +1133,7 @@ When kbuild executes, the following steps are followed (roughly):
Compress target. Use maximum compression to compress target. Compress target. Use maximum compression to compress target.
Example: Example:
#arch/i386/boot/Makefile #arch/x86/boot/Makefile
LDFLAGS_bootsect := -Ttext 0x0 -s --oformat binary LDFLAGS_bootsect := -Ttext 0x0 -s --oformat binary
LDFLAGS_setup := -Ttext 0x0 -s --oformat binary -e begtext LDFLAGS_setup := -Ttext 0x0 -s --oformat binary -e begtext
@@ -1193,7 +1193,7 @@ When kbuild executes, the following steps are followed (roughly):
When updating the $(obj)/bzImage target, the line When updating the $(obj)/bzImage target, the line
BUILD arch/i386/boot/bzImage BUILD arch/x86/boot/bzImage
will be displayed with "make KBUILD_VERBOSE=0". will be displayed with "make KBUILD_VERBOSE=0".
@@ -1207,7 +1207,7 @@ When kbuild executes, the following steps are followed (roughly):
kbuild knows .lds files and includes a rule *lds.S -> *lds. kbuild knows .lds files and includes a rule *lds.S -> *lds.
Example: Example:
#arch/i386/kernel/Makefile #arch/x86/kernel/Makefile
always := vmlinux.lds always := vmlinux.lds
#Makefile #Makefile

View File

@@ -66,7 +66,7 @@ MKISS_DRIVER_MAGIC 0x04bf mkiss_channel drivers/net/mkiss.h
RISCOM8_MAGIC 0x0907 riscom_port drivers/char/riscom8.h RISCOM8_MAGIC 0x0907 riscom_port drivers/char/riscom8.h
SPECIALIX_MAGIC 0x0907 specialix_port drivers/char/specialix_io8.h SPECIALIX_MAGIC 0x0907 specialix_port drivers/char/specialix_io8.h
HDLC_MAGIC 0x239e n_hdlc drivers/char/n_hdlc.c HDLC_MAGIC 0x239e n_hdlc drivers/char/n_hdlc.c
APM_BIOS_MAGIC 0x4101 apm_user arch/i386/kernel/apm.c APM_BIOS_MAGIC 0x4101 apm_user arch/x86/kernel/apm_32.c
CYCLADES_MAGIC 0x4359 cyclades_port include/linux/cyclades.h CYCLADES_MAGIC 0x4359 cyclades_port include/linux/cyclades.h
DB_MAGIC 0x4442 fc_info drivers/net/iph5526_novram.c DB_MAGIC 0x4442 fc_info drivers/net/iph5526_novram.c
DL_MAGIC 0x444d fc_info drivers/net/iph5526_novram.c DL_MAGIC 0x444d fc_info drivers/net/iph5526_novram.c

View File

@@ -11,7 +11,7 @@ Adapter Detection
The ideal MCA adapter detection is done through the use of the The ideal MCA adapter detection is done through the use of the
Programmable Option Select registers. Generic functions for doing Programmable Option Select registers. Generic functions for doing
this have been added in include/linux/mca.h and arch/i386/kernel/mca.c. this have been added in include/linux/mca.h and arch/x86/kernel/mca_32.c.
Everything needed to detect adapters and read (and write) configuration Everything needed to detect adapters and read (and write) configuration
information is there. A number of MCA-specific drivers already use information is there. A number of MCA-specific drivers already use
this. The typical probe code looks like the following: this. The typical probe code looks like the following:
@@ -81,7 +81,7 @@ more people use shared IRQs on PCI machines.
In general, an interrupt must be acknowledged not only at the ICU (which In general, an interrupt must be acknowledged not only at the ICU (which
is done automagically by the kernel), but at the device level. In is done automagically by the kernel), but at the device level. In
particular, IRQ 0 must be reset after a timer interrupt (now done in particular, IRQ 0 must be reset after a timer interrupt (now done in
arch/i386/kernel/time.c) or the first timer interrupt hangs the system. arch/x86/kernel/time.c) or the first timer interrupt hangs the system.
There were also problems with the 1.3.x floppy drivers, but that seems There were also problems with the 1.3.x floppy drivers, but that seems
to have been fixed. to have been fixed.

View File

@@ -66,7 +66,7 @@ Your cpu_idle routines need to obey the following rules:
barrier issued (followed by a test of need_resched with barrier issued (followed by a test of need_resched with
interrupts disabled, as explained in 3). interrupts disabled, as explained in 3).
arch/i386/kernel/process.c has examples of both polling and arch/x86/kernel/process.c has examples of both polling and
sleeping idle functions. sleeping idle functions.

View File

@@ -553,7 +553,7 @@ replacing "/usr/src" with wherever you keep your Linux kernel source tree:
make config make config
make zImage make zImage
Then install "arch/i386/boot/zImage" as your standard kernel, run lilo if Then install "arch/x86/boot/zImage" as your standard kernel, run lilo if
appropriate, and reboot. appropriate, and reboot.

View File

@@ -87,7 +87,7 @@ c) Set address on ISA cards then:
edit /usr/src/linux/drivers/char/ip2.c edit /usr/src/linux/drivers/char/ip2.c
(Optional - may be specified on kernel command line now) (Optional - may be specified on kernel command line now)
d) Run "make zImage" or whatever target you prefer. d) Run "make zImage" or whatever target you prefer.
e) mv /usr/src/linux/arch/i386/boot/zImage to /boot. e) mv /usr/src/linux/arch/x86/boot/zImage to /boot.
f) Add new config for this kernel into /etc/lilo.conf, run "lilo" f) Add new config for this kernel into /etc/lilo.conf, run "lilo"
or copy to a floppy disk and boot from that floppy disk. or copy to a floppy disk and boot from that floppy disk.
g) Reboot using this kernel g) Reboot using this kernel

View File

@@ -66,7 +66,7 @@ MKISS_DRIVER_MAGIC 0x04bf mkiss_channel drivers/net/mkiss.h
RISCOM8_MAGIC 0x0907 riscom_port drivers/char/riscom8.h RISCOM8_MAGIC 0x0907 riscom_port drivers/char/riscom8.h
SPECIALIX_MAGIC 0x0907 specialix_port drivers/char/specialix_io8.h SPECIALIX_MAGIC 0x0907 specialix_port drivers/char/specialix_io8.h
HDLC_MAGIC 0x239e n_hdlc drivers/char/n_hdlc.c HDLC_MAGIC 0x239e n_hdlc drivers/char/n_hdlc.c
APM_BIOS_MAGIC 0x4101 apm_user arch/i386/kernel/apm.c APM_BIOS_MAGIC 0x4101 apm_user arch/x86/kernel/apm_32.c
CYCLADES_MAGIC 0x4359 cyclades_port include/linux/cyclades.h CYCLADES_MAGIC 0x4359 cyclades_port include/linux/cyclades.h
DB_MAGIC 0x4442 fc_info drivers/net/iph5526_novram.c DB_MAGIC 0x4442 fc_info drivers/net/iph5526_novram.c
DL_MAGIC 0x444d fc_info drivers/net/iph5526_novram.c DL_MAGIC 0x444d fc_info drivers/net/iph5526_novram.c

View File

@@ -696,7 +696,7 @@ T: git git://git.infradead.org/users/cbou/linux-cns3xxx.git
ARM/CIRRUS LOGIC EP93XX ARM ARCHITECTURE ARM/CIRRUS LOGIC EP93XX ARM ARCHITECTURE
M: Hartley Sweeten <hsweeten@visionengravers.com> M: Hartley Sweeten <hsweeten@visionengravers.com>
M: Ryan Mallon <ryan@bluewatersys.com> M: Ryan Mallon <rmallon@gmail.com>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Maintained S: Maintained
F: arch/arm/mach-ep93xx/ F: arch/arm/mach-ep93xx/
@@ -1588,7 +1588,7 @@ F: Documentation/sound/alsa/Bt87x.txt
F: sound/pci/bt87x.c F: sound/pci/bt87x.c
BT8XXGPIO DRIVER BT8XXGPIO DRIVER
M: Michael Buesch <mb@bu3sch.de> M: Michael Buesch <m@bues.ch>
W: http://bu3sch.de/btgpio.php W: http://bu3sch.de/btgpio.php
S: Maintained S: Maintained
F: drivers/gpio/bt8xxgpio.c F: drivers/gpio/bt8xxgpio.c
@@ -5910,7 +5910,7 @@ S: Maintained
F: drivers/net/sonic.* F: drivers/net/sonic.*
SONICS SILICON BACKPLANE DRIVER (SSB) SONICS SILICON BACKPLANE DRIVER (SSB)
M: Michael Buesch <mb@bu3sch.de> M: Michael Buesch <m@bues.ch>
L: netdev@vger.kernel.org L: netdev@vger.kernel.org
S: Maintained S: Maintained
F: drivers/ssb/ F: drivers/ssb/

View File

@@ -27,7 +27,7 @@
#define fd_cacheflush(addr,size) /* nothing */ #define fd_cacheflush(addr,size) /* nothing */
#define fd_request_irq() request_irq(FLOPPY_IRQ, floppy_interrupt,\ #define fd_request_irq() request_irq(FLOPPY_IRQ, floppy_interrupt,\
IRQF_DISABLED, "floppy", NULL) IRQF_DISABLED, "floppy", NULL)
#define fd_free_irq() free_irq(FLOPPY_IRQ, NULL); #define fd_free_irq() free_irq(FLOPPY_IRQ, NULL)
#ifdef CONFIG_PCI #ifdef CONFIG_PCI

View File

@@ -193,7 +193,7 @@ static int __devinit scoop_probe(struct platform_device *pdev)
spin_lock_init(&devptr->scoop_lock); spin_lock_init(&devptr->scoop_lock);
inf = pdev->dev.platform_data; inf = pdev->dev.platform_data;
devptr->base = ioremap(mem->start, mem->end - mem->start + 1); devptr->base = ioremap(mem->start, resource_size(mem));
if (!devptr->base) { if (!devptr->base) {
ret = -ENOMEM; ret = -ENOMEM;

View File

@@ -525,7 +525,7 @@ void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data)
if (ARRAY_SIZE(lcdc_resources) > 2) { if (ARRAY_SIZE(lcdc_resources) > 2) {
void __iomem *fb; void __iomem *fb;
struct resource *fb_res = &lcdc_resources[2]; struct resource *fb_res = &lcdc_resources[2];
size_t fb_len = fb_res->end - fb_res->start + 1; size_t fb_len = resource_size(fb_res);
fb = ioremap(fb_res->start, fb_len); fb = ioremap(fb_res->start, fb_len);
if (fb) { if (fb) {

View File

@@ -4,7 +4,7 @@
* Copyright (C) 2010 Bluewater System Ltd * Copyright (C) 2010 Bluewater System Ltd
* *
* Author: Andre Renaud <andre@bluewatersys.com> * Author: Andre Renaud <andre@bluewatersys.com>
* Author: Ryan Mallon <ryan@bluewatersys.com> * Author: Ryan Mallon
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@@ -13,11 +13,9 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/serial_8250.h>
#include <linux/clk.h> #include <linux/clk.h>
#include <linux/mbus.h> #include <linux/mbus.h>
#include <linux/ata_platform.h> #include <linux/ata_platform.h>
#include <linux/serial_8250.h>
#include <linux/gpio.h> #include <linux/gpio.h>
#include <asm/page.h> #include <asm/page.h>
#include <asm/setup.h> #include <asm/setup.h>

View File

@@ -2,7 +2,7 @@
* arch/arm/mach-ep93xx/simone.c * arch/arm/mach-ep93xx/simone.c
* Simplemachines Sim.One support. * Simplemachines Sim.One support.
* *
* Copyright (C) 2010 Ryan Mallon <ryan@bluewatersys.com> * Copyright (C) 2010 Ryan Mallon
* *
* Based on the 2.6.24.7 support: * Based on the 2.6.24.7 support:
* Copyright (C) 2009 Simplemachines * Copyright (C) 2009 Simplemachines
@@ -65,7 +65,7 @@ static void __init simone_init_machine(void)
} }
MACHINE_START(SIM_ONE, "Simplemachines Sim.One Board") MACHINE_START(SIM_ONE, "Simplemachines Sim.One Board")
/* Maintainer: Ryan Mallon <ryan@bluewatersys.com> */ /* Maintainer: Ryan Mallon */
.boot_params = EP93XX_SDCE0_PHYS_BASE + 0x100, .boot_params = EP93XX_SDCE0_PHYS_BASE + 0x100,
.map_io = ep93xx_map_io, .map_io = ep93xx_map_io,
.init_irq = ep93xx_init_irq, .init_irq = ep93xx_init_irq,

View File

@@ -3,7 +3,7 @@
* Bluewater Systems Snapper CL15 system module * Bluewater Systems Snapper CL15 system module
* *
* Copyright (C) 2009 Bluewater Systems Ltd * Copyright (C) 2009 Bluewater Systems Ltd
* Author: Ryan Mallon <ryan@bluewatersys.com> * Author: Ryan Mallon
* *
* NAND code adapted from driver by: * NAND code adapted from driver by:
* Andre Renaud <andre@bluewatersys.com> * Andre Renaud <andre@bluewatersys.com>
@@ -162,7 +162,7 @@ static void __init snappercl15_init_machine(void)
} }
MACHINE_START(SNAPPER_CL15, "Bluewater Systems Snapper CL15") MACHINE_START(SNAPPER_CL15, "Bluewater Systems Snapper CL15")
/* Maintainer: Ryan Mallon <ryan@bluewatersys.com> */ /* Maintainer: Ryan Mallon */
.boot_params = EP93XX_SDCE0_PHYS_BASE + 0x100, .boot_params = EP93XX_SDCE0_PHYS_BASE + 0x100,
.map_io = ep93xx_map_io, .map_io = ep93xx_map_io,
.init_irq = ep93xx_init_irq, .init_irq = ep93xx_init_irq,

View File

@@ -129,12 +129,12 @@ static void __init mv78xx0_pcie_preinit(void)
struct pcie_port *pp = pcie_port + i; struct pcie_port *pp = pcie_port + i;
mv78xx0_setup_pcie_io_win(win++, pp->res[0].start, mv78xx0_setup_pcie_io_win(win++, pp->res[0].start,
pp->res[0].end - pp->res[0].start + 1, resource_size(&pp->res[0]),
pp->maj, pp->min); pp->maj, pp->min);
mv78xx0_setup_pcie_mem_win(win++, pp->res[1].start, mv78xx0_setup_pcie_mem_win(win++, pp->res[1].start,
pp->res[1].end - pp->res[1].start + 1, resource_size(&pp->res[1]),
pp->maj, pp->min); pp->maj, pp->min);
} }
} }

View File

@@ -34,7 +34,7 @@
#define CORGI_GPIO_LCDCON_CS (19) /* LCD Control Chip Select */ #define CORGI_GPIO_LCDCON_CS (19) /* LCD Control Chip Select */
#define CORGI_GPIO_MAX1111_CS (20) /* MAX1111 Chip Select */ #define CORGI_GPIO_MAX1111_CS (20) /* MAX1111 Chip Select */
#define CORGI_GPIO_ADC_TEMP_ON (21) /* Select battery voltage or temperature */ #define CORGI_GPIO_ADC_TEMP_ON (21) /* Select battery voltage or temperature */
#define CORGI_GPIO_IR_ON (22) /* Enable IR Transciever */ #define CORGI_GPIO_IR_ON (22) /* Enable IR Transceiver */
#define CORGI_GPIO_ADS7846_CS (24) /* ADS7846 Chip Select */ #define CORGI_GPIO_ADS7846_CS (24) /* ADS7846 Chip Select */
#define CORGI_GPIO_SD_PWR (33) /* MMC/SD Power */ #define CORGI_GPIO_SD_PWR (33) /* MMC/SD Power */
#define CORGI_GPIO_CHRG_ON (38) /* Enable battery Charging */ #define CORGI_GPIO_CHRG_ON (38) /* Enable battery Charging */

View File

@@ -56,9 +56,9 @@
#define UDCFNR __REG(0x40600014) /* UDC Frame Number Register */ #define UDCFNR __REG(0x40600014) /* UDC Frame Number Register */
#define UDCOTGICR __REG(0x40600018) /* UDC On-The-Go interrupt control */ #define UDCOTGICR __REG(0x40600018) /* UDC On-The-Go interrupt control */
#define UDCOTGICR_IESF (1 << 24) /* OTG SET_FEATURE command recvd */ #define UDCOTGICR_IESF (1 << 24) /* OTG SET_FEATURE command recvd */
#define UDCOTGICR_IEXR (1 << 17) /* Extra Transciever Interrupt #define UDCOTGICR_IEXR (1 << 17) /* Extra Transceiver Interrupt
Rising Edge Interrupt Enable */ Rising Edge Interrupt Enable */
#define UDCOTGICR_IEXF (1 << 16) /* Extra Transciever Interrupt #define UDCOTGICR_IEXF (1 << 16) /* Extra Transceiver Interrupt
Falling Edge Interrupt Enable */ Falling Edge Interrupt Enable */
#define UDCOTGICR_IEVV40R (1 << 9) /* OTG Vbus Valid 4.0V Rising Edge #define UDCOTGICR_IEVV40R (1 << 9) /* OTG Vbus Valid 4.0V Rising Edge
Interrupt Enable */ Interrupt Enable */

View File

@@ -18,7 +18,6 @@
#include <linux/leds.h> #include <linux/leds.h>
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/rfkill.h> #include <linux/rfkill.h>
#include <linux/leds.h>
#include <mach/regs-gpio.h> #include <mach/regs-gpio.h>
#include <mach/hardware.h> #include <mach/hardware.h>

View File

@@ -443,7 +443,7 @@ static struct platform_device usb1_host_device = {
.resource = usb1_host_resources, .resource = usb1_host_resources,
}; };
const static struct fb_videomode ap4evb_lcdc_modes[] = { static const struct fb_videomode ap4evb_lcdc_modes[] = {
{ {
#ifdef CONFIG_AP4EVB_QHD #ifdef CONFIG_AP4EVB_QHD
.name = "R63302(QHD)", .name = "R63302(QHD)",

View File

@@ -1791,7 +1791,7 @@ static void __init u300_assign_physmem(void)
0 == res->start) { 0 == res->start) {
res->start = curr_start; res->start = curr_start;
res->end += curr_start; res->end += curr_start;
curr_start += (res->end - res->start + 1); curr_start += resource_size(res);
printk(KERN_INFO "core.c: Mapping RAM " \ printk(KERN_INFO "core.c: Mapping RAM " \
"%#x-%#x to device %s:%s\n", "%#x-%#x to device %s:%s\n",

View File

@@ -77,7 +77,7 @@ static struct regulator_consumer_supply ab8500_vtvout_consumers[] = {
static struct regulator_consumer_supply ab8500_vintcore_consumers[] = { static struct regulator_consumer_supply ab8500_vintcore_consumers[] = {
/* SoC core supply, no device */ /* SoC core supply, no device */
REGULATOR_SUPPLY("v-intcore", NULL), REGULATOR_SUPPLY("v-intcore", NULL),
/* USB Transciever */ /* USB Transceiver */
REGULATOR_SUPPLY("vddulpivio18", "ab8500-usb.0"), REGULATOR_SUPPLY("vddulpivio18", "ab8500-usb.0"),
}; };

View File

@@ -232,8 +232,8 @@ static int s5p_sysmmu_probe(struct platform_device *pdev)
goto err_res; goto err_res;
} }
mem = request_mem_region(res->start, mem = request_mem_region(res->start, resource_size(res),
((res->end) - (res->start)) + 1, pdev->name); pdev->name);
if (!mem) { if (!mem) {
dev_err(dev, "Failed to request the memory region of %s.\n", dev_err(dev, "Failed to request the memory region of %s.\n",
sysmmu_ips_name[i]); sysmmu_ips_name[i]);
@@ -241,7 +241,7 @@ static int s5p_sysmmu_probe(struct platform_device *pdev)
goto err_res; goto err_res;
} }
sysmmusfrs[i] = ioremap(res->start, res->end - res->start + 1); sysmmusfrs[i] = ioremap(res->start, resource_size(res));
if (!sysmmusfrs[i]) { if (!sysmmusfrs[i]) {
dev_err(dev, "Failed to ioremap() for %s.\n", dev_err(dev, "Failed to ioremap() for %s.\n",
sysmmu_ips_name[i]); sysmmu_ips_name[i]);

View File

@@ -72,7 +72,7 @@ static void s3c_pm_run_sysram(run_fn_t fn, u32 *arg)
static u32 *s3c_pm_countram(struct resource *res, u32 *val) static u32 *s3c_pm_countram(struct resource *res, u32 *val)
{ {
u32 size = (u32)(res->end - res->start)+1; u32 size = (u32)resource_size(res);
size += CHECK_CHUNKSIZE-1; size += CHECK_CHUNKSIZE-1;
size /= CHECK_CHUNKSIZE; size /= CHECK_CHUNKSIZE;

View File

@@ -444,7 +444,7 @@ static unsigned long __init
find_bootmap_pfn(const struct resource *mem) find_bootmap_pfn(const struct resource *mem)
{ {
unsigned long bootmap_pages, bootmap_len; unsigned long bootmap_pages, bootmap_len;
unsigned long node_pages = PFN_UP(mem->end - mem->start + 1); unsigned long node_pages = PFN_UP(resource_size(mem));
unsigned long bootmap_start; unsigned long bootmap_start;
bootmap_pages = bootmem_bootmap_pages(node_pages); bootmap_pages = bootmem_bootmap_pages(node_pages);
@@ -541,10 +541,10 @@ static void __init setup_bootmem(void)
*/ */
if (res->start >= PFN_PHYS(first_pfn) if (res->start >= PFN_PHYS(first_pfn)
&& res->end < PFN_PHYS(max_pfn)) && res->end < PFN_PHYS(max_pfn))
reserve_bootmem_node( reserve_bootmem_node(NODE_DATA(node),
NODE_DATA(node), res->start, res->start,
res->end - res->start + 1, resource_size(res),
BOOTMEM_DEFAULT); BOOTMEM_DEFAULT);
} }
node_set_online(node); node_set_online(node);

View File

@@ -204,7 +204,7 @@ static int __init eic_probe(struct platform_device *pdev)
} }
eic->first_irq = EIM_IRQ_BASE + 32 * pdev->id; eic->first_irq = EIM_IRQ_BASE + 32 * pdev->id;
eic->regs = ioremap(regs->start, regs->end - regs->start + 1); eic->regs = ioremap(regs->start, resource_size(regs));
if (!eic->regs) { if (!eic->regs) {
dev_dbg(&pdev->dev, "failed to map regs\n"); dev_dbg(&pdev->dev, "failed to map regs\n");
goto err_ioremap; goto err_ioremap;

View File

@@ -245,7 +245,7 @@ static int hsmc_probe(struct platform_device *pdev)
hsmc->pclk = pclk; hsmc->pclk = pclk;
hsmc->mck = mck; hsmc->mck = mck;
hsmc->regs = ioremap(regs->start, regs->end - regs->start + 1); hsmc->regs = ioremap(regs->start, resource_size(regs));
if (!hsmc->regs) if (!hsmc->regs)
goto out_disable_clocks; goto out_disable_clocks;

View File

@@ -107,7 +107,7 @@ void __init init_IRQ(void)
clk_enable(pclk); clk_enable(pclk);
intc0.regs = ioremap(regs->start, regs->end - regs->start + 1); intc0.regs = ioremap(regs->start, resource_size(regs));
if (!intc0.regs) { if (!intc0.regs) {
printk(KERN_EMERG "intc: failed to map registers (0x%08lx)\n", printk(KERN_EMERG "intc: failed to map registers (0x%08lx)\n",
(unsigned long)regs->start); (unsigned long)regs->start);

View File

@@ -461,7 +461,7 @@ void __init at32_init_pio(struct platform_device *pdev)
clk_enable(pio->clk); clk_enable(pio->clk);
pio->pdev = pdev; pio->pdev = pdev;
pio->regs = ioremap(regs->start, regs->end - regs->start + 1); pio->regs = ioremap(regs->start, resource_size(regs));
/* start with irqs disabled and acked */ /* start with irqs disabled and acked */
pio_writel(pio, IDR, ~0UL); pio_writel(pio, IDR, ~0UL);

View File

@@ -46,7 +46,7 @@
#include <asm/regs267x.h> #include <asm/regs267x.h>
#endif #endif
#define STUBSIZE 0xc000; #define STUBSIZE 0xc000
unsigned long rom_length; unsigned long rom_length;
unsigned long memory_start; unsigned long memory_start;

View File

@@ -467,7 +467,7 @@ typedef volatile struct tioce {
#define CE_LSI_GB_CFG1_RXL0S_THS_SHFT 0 #define CE_LSI_GB_CFG1_RXL0S_THS_SHFT 0
#define CE_LSI_GB_CFG1_RXL0S_THS_MASK (0xffULL << 0) #define CE_LSI_GB_CFG1_RXL0S_THS_MASK (0xffULL << 0)
#define CE_LSI_GB_CFG1_RXL0S_SMP_SHFT 8 #define CE_LSI_GB_CFG1_RXL0S_SMP_SHFT 8
#define CE_LSI_GB_CFG1_RXL0S_SMP_MASK (0xfULL << 8); #define CE_LSI_GB_CFG1_RXL0S_SMP_MASK (0xfULL << 8)
#define CE_LSI_GB_CFG1_RXL0S_ADJ_SHFT 12 #define CE_LSI_GB_CFG1_RXL0S_ADJ_SHFT 12
#define CE_LSI_GB_CFG1_RXL0S_ADJ_MASK (0x7ULL << 12) #define CE_LSI_GB_CFG1_RXL0S_ADJ_MASK (0x7ULL << 12)
#define CE_LSI_GB_CFG1_RXL0S_FLT_SHFT 15 #define CE_LSI_GB_CFG1_RXL0S_FLT_SHFT 15

View File

@@ -94,7 +94,7 @@ void pcibios_free_controller(struct pci_controller *phb)
static resource_size_t pcibios_io_size(const struct pci_controller *hose) static resource_size_t pcibios_io_size(const struct pci_controller *hose)
{ {
return hose->io_resource.end - hose->io_resource.start + 1; return resource_size(&hose->io_resource);
} }
int pcibios_vaddr_is_ioport(void __iomem *address) int pcibios_vaddr_is_ioport(void __iomem *address)

View File

@@ -1,7 +1,7 @@
/* /*
* Copyright (C) 2004 Florian Schirmer <jolt@tuxbox.org> * Copyright (C) 2004 Florian Schirmer <jolt@tuxbox.org>
* Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org> * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
* Copyright (C) 2006 Michael Buesch <mb@bu3sch.de> * Copyright (C) 2006 Michael Buesch <m@bues.ch>
* Copyright (C) 2010 Waldemar Brodkorb <wbx@openadk.org> * Copyright (C) 2010 Waldemar Brodkorb <wbx@openadk.org>
* Copyright (C) 2010-2011 Hauke Mehrtens <hauke@hauke-m.de> * Copyright (C) 2010-2011 Hauke Mehrtens <hauke@hauke-m.de>
* *

View File

@@ -29,7 +29,7 @@ static inline void fd_cacheflush(char * addr, long size)
#define FLOPPY0_TYPE fd_drive_type(0) #define FLOPPY0_TYPE fd_drive_type(0)
#define FLOPPY1_TYPE fd_drive_type(1) #define FLOPPY1_TYPE fd_drive_type(1)
#define FDC1 fd_getfdaddr1(); #define FDC1 fd_getfdaddr1()
#define N_FDC 1 /* do you *really* want a second controller? */ #define N_FDC 1 /* do you *really* want a second controller? */
#define N_DRIVE 8 #define N_DRIVE 8

View File

@@ -25,14 +25,13 @@ enum jz_gpio_function {
JZ_GPIO_FUNC3, JZ_GPIO_FUNC3,
}; };
/* /*
Usually a driver for a SoC component has to request several gpio pins and Usually a driver for a SoC component has to request several gpio pins and
configure them as funcion pins. configure them as funcion pins.
jz_gpio_bulk_request can be used to ease this process. jz_gpio_bulk_request can be used to ease this process.
Usually one would do something like: Usually one would do something like:
const static struct jz_gpio_bulk_request i2c_pins[] = { static const struct jz_gpio_bulk_request i2c_pins[] = {
JZ_GPIO_BULK_PIN(I2C_SDA), JZ_GPIO_BULK_PIN(I2C_SDA),
JZ_GPIO_BULK_PIN(I2C_SCK), JZ_GPIO_BULK_PIN(I2C_SCK),
}; };
@@ -47,8 +46,8 @@ enum jz_gpio_function {
jz_gpio_bulk_free(i2c_pins, ARRAY_SIZE(i2c_pins)); jz_gpio_bulk_free(i2c_pins, ARRAY_SIZE(i2c_pins));
*/ */
struct jz_gpio_bulk_request { struct jz_gpio_bulk_request {
int gpio; int gpio;
const char *name; const char *name;

View File

@@ -15,11 +15,9 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/leds.h> #include <linux/leds.h>
#include <linux/etherdevice.h> #include <linux/etherdevice.h>
#include <linux/reboot.h>
#include <linux/time.h> #include <linux/time.h>
#include <linux/io.h> #include <linux/io.h>
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/leds.h>
#include <asm/bootinfo.h> #include <asm/bootinfo.h>
#include <asm/irq.h> #include <asm/irq.h>

View File

@@ -16,11 +16,9 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/leds.h> #include <linux/leds.h>
#include <linux/etherdevice.h> #include <linux/etherdevice.h>
#include <linux/reboot.h>
#include <linux/time.h> #include <linux/time.h>
#include <linux/io.h> #include <linux/io.h>
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/leds.h>
#include <asm/bootinfo.h> #include <asm/bootinfo.h>
#include <asm/irq.h> #include <asm/irq.h>

View File

@@ -215,7 +215,7 @@ static int __init rc32434_pci_init(void)
rc32434_pcibridge_init(); rc32434_pcibridge_init();
io_map_base = ioremap(rc32434_res_pci_io1.start, io_map_base = ioremap(rc32434_res_pci_io1.start,
rc32434_res_pci_io1.end - rc32434_res_pci_io1.start + 1); resource_size(&rcrc32434_res_pci_io1));
if (!io_map_base) if (!io_map_base)
return -ENOMEM; return -ENOMEM;

View File

@@ -305,7 +305,7 @@ static int __init vr41xx_pciu_init(void)
struct resource *res = vr41xx_pci_controller.io_resource; struct resource *res = vr41xx_pci_controller.io_resource;
master = setup->master_io; master = setup->master_io;
io_map_base = ioremap(master->bus_base_address, io_map_base = ioremap(master->bus_base_address,
res->end - res->start + 1); resource_size(res));
if (!io_map_base) if (!io_map_base)
return -EBUSY; return -EBUSY;

View File

@@ -394,23 +394,21 @@ void __init platform_alloc_bootmem(void)
/* Loop through looking for resources that want a particular address */ /* Loop through looking for resources that want a particular address */
for (i = 0; gp_resources[i].flags != 0; i++) { for (i = 0; gp_resources[i].flags != 0; i++) {
int size = gp_resources[i].end - gp_resources[i].start + 1; int size = resource_size(&gp_resources[i]);
if ((gp_resources[i].start != 0) && if ((gp_resources[i].start != 0) &&
((gp_resources[i].flags & IORESOURCE_MEM) != 0)) { ((gp_resources[i].flags & IORESOURCE_MEM) != 0)) {
reserve_bootmem(dma_to_phys(gp_resources[i].start), reserve_bootmem(dma_to_phys(gp_resources[i].start),
size, 0); size, 0);
total += gp_resources[i].end - total += resource_size(&gp_resources[i]);
gp_resources[i].start + 1;
pr_info("reserve resource %s at %08x (%u bytes)\n", pr_info("reserve resource %s at %08x (%u bytes)\n",
gp_resources[i].name, gp_resources[i].start, gp_resources[i].name, gp_resources[i].start,
gp_resources[i].end - resource_size(&gp_resources[i]));
gp_resources[i].start + 1);
} }
} }
/* Loop through assigning addresses for those that are left */ /* Loop through assigning addresses for those that are left */
for (i = 0; gp_resources[i].flags != 0; i++) { for (i = 0; gp_resources[i].flags != 0; i++) {
int size = gp_resources[i].end - gp_resources[i].start + 1; int size = resource_size(&gp_resources[i]);
if ((gp_resources[i].start == 0) && if ((gp_resources[i].start == 0) &&
((gp_resources[i].flags & IORESOURCE_MEM) != 0)) { ((gp_resources[i].flags & IORESOURCE_MEM) != 0)) {
void *mem = alloc_bootmem_pages(size); void *mem = alloc_bootmem_pages(size);

View File

@@ -210,7 +210,7 @@ parisc_walk_tree(struct device *dev)
return dev->platform_data; return dev->platform_data;
} }
#define GET_IOC(dev) (HBA_DATA(parisc_walk_tree(dev))->iommu); #define GET_IOC(dev) (HBA_DATA(parisc_walk_tree(dev))->iommu)
#ifdef CONFIG_IOMMU_CCIO #ifdef CONFIG_IOMMU_CCIO

View File

@@ -56,7 +56,7 @@
/* General definitions */ /* General definitions */
#define DOESTRAP 1 #define DOESTRAP 1
#define NOTRAP 0 #define NOTRAP 0
#define SIGNALCODE(signal, code) ((signal) << 24 | (code)); #define SIGNALCODE(signal, code) ((signal) << 24 | (code))
#define copropbit 1<<31-2 /* bit position 2 */ #define copropbit 1<<31-2 /* bit position 2 */
#define opclass 9 /* bits 21 & 22 */ #define opclass 9 /* bits 21 & 22 */
#define fmt 11 /* bits 19 & 20 */ #define fmt 11 /* bits 19 & 20 */

View File

@@ -267,7 +267,7 @@ extern int ucache_bsize;
struct linux_binprm; struct linux_binprm;
extern int arch_setup_additional_pages(struct linux_binprm *bprm, extern int arch_setup_additional_pages(struct linux_binprm *bprm,
int uses_interp); int uses_interp);
#define VDSO_AUX_ENT(a,b) NEW_AUX_ENT(a,b); #define VDSO_AUX_ENT(a,b) NEW_AUX_ENT(a,b)
/* 1GB for 64bit, 8MB for 32bit */ /* 1GB for 64bit, 8MB for 32bit */
#define STACK_RND_MASK (is_32bit_task() ? \ #define STACK_RND_MASK (is_32bit_task() ? \
@@ -298,7 +298,7 @@ do { \
NEW_AUX_ENT(AT_DCACHEBSIZE, dcache_bsize); \ NEW_AUX_ENT(AT_DCACHEBSIZE, dcache_bsize); \
NEW_AUX_ENT(AT_ICACHEBSIZE, icache_bsize); \ NEW_AUX_ENT(AT_ICACHEBSIZE, icache_bsize); \
NEW_AUX_ENT(AT_UCACHEBSIZE, ucache_bsize); \ NEW_AUX_ENT(AT_UCACHEBSIZE, ucache_bsize); \
VDSO_AUX_ENT(AT_SYSINFO_EHDR, current->mm->context.vdso_base) \ VDSO_AUX_ENT(AT_SYSINFO_EHDR, current->mm->context.vdso_base); \
} while (0) } while (0)
/* PowerPC64 relocations defined by the ABIs */ /* PowerPC64 relocations defined by the ABIs */

View File

@@ -76,7 +76,7 @@ static inline unsigned long macio_resource_len(struct macio_dev *dev, int resour
struct resource *res = &dev->resource[resource_no]; struct resource *res = &dev->resource[resource_no];
if (res->start == 0 || res->end == 0 || res->end < res->start) if (res->start == 0 || res->end == 0 || res->end < res->start)
return 0; return 0;
return res->end - res->start + 1; return resource_size(res);
} }
extern int macio_enable_devres(struct macio_dev *dev); extern int macio_enable_devres(struct macio_dev *dev);

View File

@@ -547,7 +547,7 @@ struct smu_sdbp_header {
* (currently, afaik, this concerns only the FVT partition * (currently, afaik, this concerns only the FVT partition
* (0x12) * (0x12)
*/ */
#define SMU_U16_MIX(x) le16_to_cpu(x); #define SMU_U16_MIX(x) le16_to_cpu(x)
#define SMU_U32_MIX(x) ((((x) & 0xff00ff00u) >> 8)|(((x) & 0x00ff00ffu) << 8)) #define SMU_U32_MIX(x) ((((x) & 0xff00ff00u) >> 8)|(((x) & 0x00ff00ffu) << 8))

View File

@@ -126,7 +126,7 @@ void __init reserve_crashkernel(void)
/* We might have got these values via the command line or the /* We might have got these values via the command line or the
* device tree, either way sanitise them now. */ * device tree, either way sanitise them now. */
crash_size = crashk_res.end - crashk_res.start + 1; crash_size = resource_size(&crashk_res);
#ifndef CONFIG_RELOCATABLE #ifndef CONFIG_RELOCATABLE
if (crashk_res.start != KDUMP_KERNELBASE) if (crashk_res.start != KDUMP_KERNELBASE)
@@ -222,7 +222,7 @@ static void __init export_crashk_values(struct device_node *node)
if (crashk_res.start != 0) { if (crashk_res.start != 0) {
prom_add_property(node, &crashk_base_prop); prom_add_property(node, &crashk_base_prop);
crashk_size = crashk_res.end - crashk_res.start + 1; crashk_size = resource_size(&crashk_res);
prom_add_property(node, &crashk_size_prop); prom_add_property(node, &crashk_size_prop);
} }
} }

View File

@@ -107,7 +107,7 @@ static resource_size_t pcibios_io_size(const struct pci_controller *hose)
#ifdef CONFIG_PPC64 #ifdef CONFIG_PPC64
return hose->pci_io_size; return hose->pci_io_size;
#else #else
return hose->io_resource.end - hose->io_resource.start + 1; return resource_size(&hose->io_resource);
#endif #endif
} }

View File

@@ -264,7 +264,7 @@ mpc52xx_pci_setup(struct pci_controller *hose,
(unsigned long long)res->flags); (unsigned long long)res->flags);
out_be32(&pci_regs->iw0btar, out_be32(&pci_regs->iw0btar,
MPC52xx_PCI_IWBTAR_TRANSLATION(res->start, res->start, MPC52xx_PCI_IWBTAR_TRANSLATION(res->start, res->start,
res->end - res->start + 1)); resource_size(res)));
iwcr0 = MPC52xx_PCI_IWCR_ENABLE | MPC52xx_PCI_IWCR_MEM; iwcr0 = MPC52xx_PCI_IWCR_ENABLE | MPC52xx_PCI_IWCR_MEM;
if (res->flags & IORESOURCE_PREFETCH) if (res->flags & IORESOURCE_PREFETCH)
iwcr0 |= MPC52xx_PCI_IWCR_READ_MULTI; iwcr0 |= MPC52xx_PCI_IWCR_READ_MULTI;
@@ -278,7 +278,7 @@ mpc52xx_pci_setup(struct pci_controller *hose,
res->start, res->end, res->flags); res->start, res->end, res->flags);
out_be32(&pci_regs->iw1btar, out_be32(&pci_regs->iw1btar,
MPC52xx_PCI_IWBTAR_TRANSLATION(res->start, res->start, MPC52xx_PCI_IWBTAR_TRANSLATION(res->start, res->start,
res->end - res->start + 1)); resource_size(res)));
iwcr1 = MPC52xx_PCI_IWCR_ENABLE | MPC52xx_PCI_IWCR_MEM; iwcr1 = MPC52xx_PCI_IWCR_ENABLE | MPC52xx_PCI_IWCR_MEM;
if (res->flags & IORESOURCE_PREFETCH) if (res->flags & IORESOURCE_PREFETCH)
iwcr1 |= MPC52xx_PCI_IWCR_READ_MULTI; iwcr1 |= MPC52xx_PCI_IWCR_READ_MULTI;
@@ -300,7 +300,7 @@ mpc52xx_pci_setup(struct pci_controller *hose,
out_be32(&pci_regs->iw2btar, out_be32(&pci_regs->iw2btar,
MPC52xx_PCI_IWBTAR_TRANSLATION(hose->io_base_phys, MPC52xx_PCI_IWBTAR_TRANSLATION(hose->io_base_phys,
res->start, res->start,
res->end - res->start + 1)); resource_size(res)));
iwcr2 = MPC52xx_PCI_IWCR_ENABLE | MPC52xx_PCI_IWCR_IO; iwcr2 = MPC52xx_PCI_IWCR_ENABLE | MPC52xx_PCI_IWCR_IO;
/* Set all the IWCR fields at once; they're in the same reg */ /* Set all the IWCR fields at once; they're in the same reg */
@@ -402,7 +402,7 @@ mpc52xx_add_bridge(struct device_node *node)
hose->ops = &mpc52xx_pci_ops; hose->ops = &mpc52xx_pci_ops;
pci_regs = ioremap(rsrc.start, rsrc.end - rsrc.start + 1); pci_regs = ioremap(rsrc.start, resource_size(&rsrc));
if (!pci_regs) if (!pci_regs)
return -ENOMEM; return -ENOMEM;

View File

@@ -101,7 +101,7 @@ static void __init mpc83xx_km_setup_arch(void)
__func__); __func__);
return; return;
} }
base = ioremap(res.start, res.end - res.start + 1); base = ioremap(res.start, resource_size(&res));
/* /*
* IMMR + 0x14A8[4:5] = 11 (clk delay for UCC 2) * IMMR + 0x14A8[4:5] = 11 (clk delay for UCC 2)

View File

@@ -68,7 +68,7 @@ static void __init mpc832x_sys_setup_arch(void)
struct resource res; struct resource res;
of_address_to_resource(np, 0, &res); of_address_to_resource(np, 0, &res);
bcsr_regs = ioremap(res.start, res.end - res.start +1); bcsr_regs = ioremap(res.start, resource_size(&res));
of_node_put(np); of_node_put(np);
} }

View File

@@ -53,7 +53,7 @@ static int mpc834xemds_usb_cfg(void)
struct resource res; struct resource res;
of_address_to_resource(np, 0, &res); of_address_to_resource(np, 0, &res);
bcsr_regs = ioremap(res.start, res.end - res.start + 1); bcsr_regs = ioremap(res.start, resource_size(&res));
of_node_put(np); of_node_put(np);
} }
if (!bcsr_regs) if (!bcsr_regs)

View File

@@ -76,7 +76,7 @@ static void __init mpc836x_mds_setup_arch(void)
struct resource res; struct resource res;
of_address_to_resource(np, 0, &res); of_address_to_resource(np, 0, &res);
bcsr_regs = ioremap(res.start, res.end - res.start +1); bcsr_regs = ioremap(res.start, resource_size(&res));
of_node_put(np); of_node_put(np);
} }

View File

@@ -171,7 +171,7 @@ int mpc831x_usb_cfg(void)
of_node_put(np); of_node_put(np);
return ret; return ret;
} }
usb_regs = ioremap(res.start, res.end - res.start + 1); usb_regs = ioremap(res.start, resource_size(&res));
/* Using on-chip PHY */ /* Using on-chip PHY */
if (prop && (!strcmp(prop, "utmi_wide") || if (prop && (!strcmp(prop, "utmi_wide") ||

View File

@@ -285,7 +285,7 @@ static int __init sbc8560_bdrstcr_init(void)
printk(KERN_INFO "sbc8560: Found BRSTCR at i/o 0x%x\n", res.start); printk(KERN_INFO "sbc8560: Found BRSTCR at i/o 0x%x\n", res.start);
brstcr = ioremap(res.start, res.end - res.start); brstcr = ioremap(res.start, resource_size(&res));
if(!brstcr) if(!brstcr)
printk(KERN_WARNING "sbc8560: ioremap of brstcr failed.\n"); printk(KERN_WARNING "sbc8560: ioremap of brstcr failed.\n");

View File

@@ -123,7 +123,7 @@ static void xes_mpc85xx_fixups(void)
continue; continue;
} }
l2_base = ioremap(r[0].start, r[0].end - r[0].start + 1); l2_base = ioremap(r[0].start, resource_size(&r[0]));
xes_mpc85xx_configure_l2(l2_base); xes_mpc85xx_configure_l2(l2_base);
} }

View File

@@ -393,19 +393,19 @@ static int __init celleb_setup_epci(struct device_node *node,
if (of_address_to_resource(node, 0, &r)) if (of_address_to_resource(node, 0, &r))
goto error; goto error;
hose->cfg_addr = ioremap(r.start, (r.end - r.start + 1)); hose->cfg_addr = ioremap(r.start, resource_size(&r));
if (!hose->cfg_addr) if (!hose->cfg_addr)
goto error; goto error;
pr_debug("EPCI: cfg_addr map 0x%016llx->0x%016lx + 0x%016llx\n", pr_debug("EPCI: cfg_addr map 0x%016llx->0x%016lx + 0x%016llx\n",
r.start, (unsigned long)hose->cfg_addr, (r.end - r.start + 1)); r.start, (unsigned long)hose->cfg_addr, resource_size(&r));
if (of_address_to_resource(node, 2, &r)) if (of_address_to_resource(node, 2, &r))
goto error; goto error;
hose->cfg_data = ioremap(r.start, (r.end - r.start + 1)); hose->cfg_data = ioremap(r.start, resource_size(&r));
if (!hose->cfg_data) if (!hose->cfg_data)
goto error; goto error;
pr_debug("EPCI: cfg_data map 0x%016llx->0x%016lx + 0x%016llx\n", pr_debug("EPCI: cfg_data map 0x%016llx->0x%016lx + 0x%016llx\n",
r.start, (unsigned long)hose->cfg_data, (r.end - r.start + 1)); r.start, (unsigned long)hose->cfg_data, resource_size(&r));
hose->ops = &celleb_epci_ops; hose->ops = &celleb_epci_ops;
celleb_epci_init(hose); celleb_epci_init(hose);

View File

@@ -494,7 +494,7 @@ static __init int celleb_setup_pciex(struct device_node *node,
pr_err("PCIEXC:Failed to get config resource.\n"); pr_err("PCIEXC:Failed to get config resource.\n");
return 1; return 1;
} }
phb->cfg_addr = ioremap(r.start, r.end - r.start + 1); phb->cfg_addr = ioremap(r.start, resource_size(&r));
if (!phb->cfg_addr) { if (!phb->cfg_addr) {
pr_err("PCIEXC:Failed to remap SMMIO region.\n"); pr_err("PCIEXC:Failed to remap SMMIO region.\n");
return 1; return 1;

View File

@@ -222,7 +222,7 @@ static int spu_map_resource(struct spu *spu, int nr,
return ret; return ret;
if (phys) if (phys)
*phys = resource.start; *phys = resource.start;
len = resource.end - resource.start + 1; len = resource_size(&resource);
*virt = ioremap(resource.start, len); *virt = ioremap(resource.start, len);
if (!*virt) if (!*virt)
return -EINVAL; return -EINVAL;

View File

@@ -142,7 +142,7 @@ hydra_init(void)
return 0; return 0;
} }
of_node_put(np); of_node_put(np);
Hydra = ioremap(r.start, r.end-r.start); Hydra = ioremap(r.start, resource_size(&r));
printk("Hydra Mac I/O at %llx\n", (unsigned long long)r.start); printk("Hydra Mac I/O at %llx\n", (unsigned long long)r.start);
printk("Hydra Feature_Control was %x", printk("Hydra Feature_Control was %x",
in_le32(&Hydra->Feature_Control)); in_le32(&Hydra->Feature_Control));

View File

@@ -576,7 +576,7 @@ int pasemi_dma_init(void)
res.start = 0xfd800000; res.start = 0xfd800000;
res.end = res.start + 0x1000; res.end = res.start + 0x1000;
} }
dma_status = __ioremap(res.start, res.end-res.start, 0); dma_status = __ioremap(res.start, resource_size(&res), 0);
pci_dev_put(iob_pdev); pci_dev_put(iob_pdev);
for (i = 0; i < MAX_TXCH; i++) for (i = 0; i < MAX_TXCH; i++)

View File

@@ -580,10 +580,10 @@ int __init pmac_nvram_init(void)
/* Try to obtain an address */ /* Try to obtain an address */
if (of_address_to_resource(dp, 0, &r1) == 0) { if (of_address_to_resource(dp, 0, &r1) == 0) {
nvram_naddrs = 1; nvram_naddrs = 1;
s1 = (r1.end - r1.start) + 1; s1 = resource_size(&r1);
if (of_address_to_resource(dp, 1, &r2) == 0) { if (of_address_to_resource(dp, 1, &r2) == 0) {
nvram_naddrs = 2; nvram_naddrs = 2;
s2 = (r2.end - r2.start) + 1; s2 = resource_size(&r2);
} }
} }

View File

@@ -839,8 +839,7 @@ static void __init setup_u3_ht(struct pci_controller* hose)
* into cfg_addr * into cfg_addr
*/ */
hose->cfg_data = ioremap(cfg_res.start, 0x02000000); hose->cfg_data = ioremap(cfg_res.start, 0x02000000);
hose->cfg_addr = ioremap(self_res.start, hose->cfg_addr = ioremap(self_res.start, resource_size(&self_res));
self_res.end - self_res.start + 1);
/* /*
* /ht node doesn't expose a "ranges" property, we read the register * /ht node doesn't expose a "ranges" property, we read the register
@@ -1324,8 +1323,7 @@ static void fixup_u4_pcie(struct pci_dev* dev)
*/ */
if (r->start >= 0xf0000000 && r->start < 0xf3000000) if (r->start >= 0xf0000000 && r->start < 0xf3000000)
continue; continue;
if (!region || (r->end - r->start) > if (!region || resource_size(r) > resource_size(region))
(region->end - region->start))
region = r; region = r;
} }
/* Nothing found, bail */ /* Nothing found, bail */

View File

@@ -274,7 +274,7 @@ int __init via_calibrate_decr(void)
return 0; return 0;
} }
of_node_put(vias); of_node_put(vias);
via = ioremap(rsrc.start, rsrc.end - rsrc.start + 1); via = ioremap(rsrc.start, resource_size(&rsrc));
if (via == NULL) { if (via == NULL) {
printk(KERN_ERR "Failed to map VIA for timer calibration !\n"); printk(KERN_ERR "Failed to map VIA for timer calibration !\n");
return 0; return 0;

View File

@@ -44,7 +44,6 @@
#include <asm/mpic.h> #include <asm/mpic.h>
#include <asm/vdso_datapage.h> #include <asm/vdso_datapage.h>
#include <asm/cputhreads.h> #include <asm/cputhreads.h>
#include <asm/mpic.h>
#include <asm/xics.h> #include <asm/xics.h>
#include "plpar_wrappers.h" #include "plpar_wrappers.h"

View File

@@ -203,7 +203,7 @@ static int axon_ram_probe(struct platform_device *device)
goto failed; goto failed;
} }
bank->size = resource.end - resource.start + 1; bank->size = resource_size(&resource);
if (bank->size == 0) { if (bank->size == 0) {
dev_err(&device->dev, "No DDR2 memory found for %s%d\n", dev_err(&device->dev, "No DDR2 memory found for %s%d\n",

View File

@@ -148,7 +148,7 @@ unsigned int cpm_pic_init(void)
if (ret) if (ret)
goto end; goto end;
cpic_reg = ioremap(res.start, res.end - res.start + 1); cpic_reg = ioremap(res.start, resource_size(&res));
if (cpic_reg == NULL) if (cpic_reg == NULL)
goto end; goto end;

View File

@@ -115,7 +115,7 @@ int cpm_muram_init(void)
max = r.end; max = r.end;
rh_attach_region(&cpm_muram_info, r.start - muram_pbase, rh_attach_region(&cpm_muram_info, r.start - muram_pbase,
r.end - r.start + 1); resource_size(&r));
} }
muram_vbase = ioremap(muram_pbase, max - muram_pbase + 1); muram_vbase = ioremap(muram_pbase, max - muram_pbase + 1);

View File

@@ -239,7 +239,7 @@ static int __init dart_init(struct device_node *dart_node)
DARTMAP_RPNMASK); DARTMAP_RPNMASK);
/* Map in DART registers */ /* Map in DART registers */
dart = ioremap(r.start, r.end - r.start + 1); dart = ioremap(r.start, resource_size(&r));
if (dart == NULL) if (dart == NULL)
panic("DART: Cannot map registers!"); panic("DART: Cannot map registers!");

View File

@@ -349,7 +349,7 @@ static int __devinit fsl_of_msi_probe(struct platform_device *dev)
goto error_out; goto error_out;
} }
msi->msi_regs = ioremap(res.start, res.end - res.start + 1); msi->msi_regs = ioremap(res.start, resource_size(&res));
if (!msi->msi_regs) { if (!msi->msi_regs) {
dev_err(&dev->dev, "ioremap problem failed\n"); dev_err(&dev->dev, "ioremap problem failed\n");
goto error_out; goto error_out;

View File

@@ -64,7 +64,7 @@ static int __init setup_one_atmu(struct ccsr_pci __iomem *pci,
{ {
resource_size_t pci_addr = res->start - offset; resource_size_t pci_addr = res->start - offset;
resource_size_t phys_addr = res->start; resource_size_t phys_addr = res->start;
resource_size_t size = res->end - res->start + 1; resource_size_t size = resource_size(res);
u32 flags = 0x80044000; /* enable & mem R/W */ u32 flags = 0x80044000; /* enable & mem R/W */
unsigned int i; unsigned int i;
@@ -108,7 +108,7 @@ static void __init setup_pci_atmu(struct pci_controller *hose,
char *name = hose->dn->full_name; char *name = hose->dn->full_name;
pr_debug("PCI memory map start 0x%016llx, size 0x%016llx\n", pr_debug("PCI memory map start 0x%016llx, size 0x%016llx\n",
(u64)rsrc->start, (u64)rsrc->end - (u64)rsrc->start + 1); (u64)rsrc->start, (u64)resource_size(rsrc));
if (of_device_is_compatible(hose->dn, "fsl,qoriq-pcie-v2.2")) { if (of_device_is_compatible(hose->dn, "fsl,qoriq-pcie-v2.2")) {
win_idx = 2; win_idx = 2;
@@ -116,7 +116,7 @@ static void __init setup_pci_atmu(struct pci_controller *hose,
end_idx = 3; end_idx = 3;
} }
pci = ioremap(rsrc->start, rsrc->end - rsrc->start + 1); pci = ioremap(rsrc->start, resource_size(rsrc));
if (!pci) { if (!pci) {
dev_err(hose->parent, "Unable to map ATMU registers\n"); dev_err(hose->parent, "Unable to map ATMU registers\n");
return; return;
@@ -153,9 +153,9 @@ static void __init setup_pci_atmu(struct pci_controller *hose,
} else { } else {
pr_debug("PCI IO resource start 0x%016llx, size 0x%016llx, " pr_debug("PCI IO resource start 0x%016llx, size 0x%016llx, "
"phy base 0x%016llx.\n", "phy base 0x%016llx.\n",
(u64)hose->io_resource.start, (u64)hose->io_resource.start,
(u64)hose->io_resource.end - (u64)hose->io_resource.start + 1, (u64)resource_size(&hose->io_resource),
(u64)hose->io_base_phys); (u64)hose->io_base_phys);
out_be32(&pci->pow[j].potar, (hose->io_resource.start >> 12)); out_be32(&pci->pow[j].potar, (hose->io_resource.start >> 12));
out_be32(&pci->pow[j].potear, 0); out_be32(&pci->pow[j].potear, 0);
out_be32(&pci->pow[j].powbar, (hose->io_base_phys >> 12)); out_be32(&pci->pow[j].powbar, (hose->io_base_phys >> 12));

View File

@@ -1524,7 +1524,7 @@ int fsl_rio_setup(struct platform_device *dev)
port->priv = priv; port->priv = priv;
port->phys_efptr = 0x100; port->phys_efptr = 0x100;
priv->regs_win = ioremap(regs.start, regs.end - regs.start + 1); priv->regs_win = ioremap(regs.start, resource_size(&regs));
rio_regs_win = priv->regs_win; rio_regs_win = priv->regs_win;
/* Probe the master port phy type */ /* Probe the master port phy type */

View File

@@ -736,7 +736,7 @@ struct ipic * __init ipic_init(struct device_node *node, unsigned int flags)
return NULL; return NULL;
} }
ipic->regs = ioremap(res.start, res.end - res.start + 1); ipic->regs = ioremap(res.start, resource_size(&res));
ipic->irqhost->host_data = ipic; ipic->irqhost->host_data = ipic;

View File

@@ -129,7 +129,7 @@ int __init mmio_nvram_init(void)
goto out; goto out;
} }
nvram_addr = r.start; nvram_addr = r.start;
mmio_nvram_len = r.end - r.start + 1; mmio_nvram_len = resource_size(&r);
if ( (!mmio_nvram_len) || (!nvram_addr) ) { if ( (!mmio_nvram_len) || (!nvram_addr) ) {
printk(KERN_WARNING "nvram: address or length is 0\n"); printk(KERN_WARNING "nvram: address or length is 0\n");
ret = -EIO; ret = -EIO;

View File

@@ -166,7 +166,7 @@ int mpc8xx_pic_init(void)
if (ret) if (ret)
goto out; goto out;
siu_reg = ioremap(res.start, res.end - res.start + 1); siu_reg = ioremap(res.start, resource_size(&res));
if (siu_reg == NULL) { if (siu_reg == NULL) {
ret = -EINVAL; ret = -EINVAL;
goto out; goto out;

View File

@@ -125,11 +125,11 @@ static void mv64x60_udbg_init(void)
of_node_put(np); of_node_put(np);
mpsc_base = ioremap(r[0].start, r[0].end - r[0].start + 1); mpsc_base = ioremap(r[0].start, resource_size(&r[0]));
if (!mpsc_base) if (!mpsc_base)
return; return;
mpsc_intr_cause = ioremap(r[1].start, r[1].end - r[1].start + 1); mpsc_intr_cause = ioremap(r[1].start, resource_size(&r[1]));
if (!mpsc_intr_cause) { if (!mpsc_intr_cause) {
iounmap(mpsc_base); iounmap(mpsc_base);
return; return;

View File

@@ -265,7 +265,7 @@ static void __init ppc4xx_configure_pci_PMMs(struct pci_controller *hose,
if (ppc4xx_setup_one_pci_PMM(hose, reg, if (ppc4xx_setup_one_pci_PMM(hose, reg,
res->start, res->start,
res->start - hose->pci_mem_offset, res->start - hose->pci_mem_offset,
res->end + 1 - res->start, resource_size(res),
res->flags, res->flags,
j) == 0) { j) == 0) {
j++; j++;
@@ -290,7 +290,7 @@ static void __init ppc4xx_configure_pci_PTMs(struct pci_controller *hose,
void __iomem *reg, void __iomem *reg,
const struct resource *res) const struct resource *res)
{ {
resource_size_t size = res->end - res->start + 1; resource_size_t size = resource_size(res);
u32 sa; u32 sa;
/* Calculate window size */ /* Calculate window size */
@@ -349,7 +349,7 @@ static void __init ppc4xx_probe_pci_bridge(struct device_node *np)
bus_range = of_get_property(np, "bus-range", NULL); bus_range = of_get_property(np, "bus-range", NULL);
/* Map registers */ /* Map registers */
reg = ioremap(rsrc_reg.start, rsrc_reg.end + 1 - rsrc_reg.start); reg = ioremap(rsrc_reg.start, resource_size(&rsrc_reg));
if (reg == NULL) { if (reg == NULL) {
printk(KERN_ERR "%s: Can't map registers !", np->full_name); printk(KERN_ERR "%s: Can't map registers !", np->full_name);
goto fail; goto fail;
@@ -465,7 +465,7 @@ static void __init ppc4xx_configure_pcix_POMs(struct pci_controller *hose,
if (ppc4xx_setup_one_pcix_POM(hose, reg, if (ppc4xx_setup_one_pcix_POM(hose, reg,
res->start, res->start,
res->start - hose->pci_mem_offset, res->start - hose->pci_mem_offset,
res->end + 1 - res->start, resource_size(res),
res->flags, res->flags,
j) == 0) { j) == 0) {
j++; j++;
@@ -492,7 +492,7 @@ static void __init ppc4xx_configure_pcix_PIMs(struct pci_controller *hose,
int big_pim, int big_pim,
int enable_msi_hole) int enable_msi_hole)
{ {
resource_size_t size = res->end - res->start + 1; resource_size_t size = resource_size(res);
u32 sa; u32 sa;
/* RAM is always at 0 */ /* RAM is always at 0 */
@@ -555,7 +555,7 @@ static void __init ppc4xx_probe_pcix_bridge(struct device_node *np)
bus_range = of_get_property(np, "bus-range", NULL); bus_range = of_get_property(np, "bus-range", NULL);
/* Map registers */ /* Map registers */
reg = ioremap(rsrc_reg.start, rsrc_reg.end + 1 - rsrc_reg.start); reg = ioremap(rsrc_reg.start, resource_size(&rsrc_reg));
if (reg == NULL) { if (reg == NULL) {
printk(KERN_ERR "%s: Can't map registers !", np->full_name); printk(KERN_ERR "%s: Can't map registers !", np->full_name);
goto fail; goto fail;
@@ -1604,7 +1604,7 @@ static void __init ppc4xx_configure_pciex_POMs(struct ppc4xx_pciex_port *port,
if (ppc4xx_setup_one_pciex_POM(port, hose, mbase, if (ppc4xx_setup_one_pciex_POM(port, hose, mbase,
res->start, res->start,
res->start - hose->pci_mem_offset, res->start - hose->pci_mem_offset,
res->end + 1 - res->start, resource_size(res),
res->flags, res->flags,
j) == 0) { j) == 0) {
j++; j++;
@@ -1639,7 +1639,7 @@ static void __init ppc4xx_configure_pciex_PIMs(struct ppc4xx_pciex_port *port,
void __iomem *mbase, void __iomem *mbase,
struct resource *res) struct resource *res)
{ {
resource_size_t size = res->end - res->start + 1; resource_size_t size = resource_size(res);
u64 sa; u64 sa;
if (port->endpoint) { if (port->endpoint) {

View File

@@ -347,7 +347,7 @@ void __init qe_ic_init(struct device_node *node, unsigned int flags,
return; return;
} }
qe_ic->regs = ioremap(res.start, res.end - res.start + 1); qe_ic->regs = ioremap(res.start, resource_size(&res));
qe_ic->irqhost->host_data = qe_ic; qe_ic->irqhost->host_data = qe_ic;
qe_ic->hc_irq = qe_ic_irq_chip; qe_ic->hc_irq = qe_ic_irq_chip;

View File

@@ -41,7 +41,7 @@ int par_io_init(struct device_node *np)
ret = of_address_to_resource(np, 0, &res); ret = of_address_to_resource(np, 0, &res);
if (ret) if (ret)
return ret; return ret;
par_io = ioremap(res.start, res.end - res.start + 1); par_io = ioremap(res.start, resource_size(&res));
num_ports = of_get_property(np, "num-ports", NULL); num_ports = of_get_property(np, "num-ports", NULL);
if (num_ports) if (num_ports)

View File

@@ -256,7 +256,7 @@ static int __init icp_native_init_one_node(struct device_node *np,
return -1; return -1;
} }
if (icp_native_map_one_cpu(*indx, r.start, r.end - r.start)) if (icp_native_map_one_cpu(*indx, r.start, resource_size(&r)))
return -1; return -1;
(*indx)++; (*indx)++;

View File

@@ -13,8 +13,6 @@
#include <linux/oprofile.h> #include <linux/oprofile.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/oprofile.h>
#include <linux/errno.h>
#include <linux/fs.h> #include <linux/fs.h>
#include "../../../drivers/oprofile/oprof.h" #include "../../../drivers/oprofile/oprof.h"

View File

@@ -188,7 +188,7 @@ static void ap320_wvga_power_off(void *board_data)
__raw_writew(0, FPGA_LCDREG); __raw_writew(0, FPGA_LCDREG);
} }
const static struct fb_videomode ap325rxa_lcdc_modes[] = { static const struct fb_videomode ap325rxa_lcdc_modes[] = {
{ {
.name = "LB070WV1", .name = "LB070WV1",
.xres = 800, .xres = 800,

View File

@@ -280,7 +280,7 @@ static struct platform_device usbhs_device = {
}; };
/* LCDC */ /* LCDC */
const static struct fb_videomode ecovec_lcd_modes[] = { static const struct fb_videomode ecovec_lcd_modes[] = {
{ {
.name = "Panel", .name = "Panel",
.xres = 800, .xres = 800,
@@ -295,7 +295,7 @@ const static struct fb_videomode ecovec_lcd_modes[] = {
}, },
}; };
const static struct fb_videomode ecovec_dvi_modes[] = { static const struct fb_videomode ecovec_dvi_modes[] = {
{ {
.name = "DVI", .name = "DVI",
.xres = 1280, .xres = 1280,

View File

@@ -127,7 +127,7 @@ static struct platform_device kfr2r09_sh_keysc_device = {
}, },
}; };
const static struct fb_videomode kfr2r09_lcdc_modes[] = { static const struct fb_videomode kfr2r09_lcdc_modes[] = {
{ {
.name = "TX07D34VM0AAA", .name = "TX07D34VM0AAA",
.xres = 240, .xres = 240,

View File

@@ -214,7 +214,7 @@ static struct platform_device migor_nand_flash_device = {
} }
}; };
const static struct fb_videomode migor_lcd_modes[] = { static const struct fb_videomode migor_lcd_modes[] = {
{ {
#if defined(CONFIG_SH_MIGOR_RTA_WVGA) #if defined(CONFIG_SH_MIGOR_RTA_WVGA)
.name = "LB070WV1", .name = "LB070WV1",

View File

@@ -145,7 +145,7 @@ static struct platform_device nor_flash_device = {
}; };
/* LCDC */ /* LCDC */
const static struct fb_videomode lcdc_720p_modes[] = { static const struct fb_videomode lcdc_720p_modes[] = {
{ {
.name = "LB070WV1", .name = "LB070WV1",
.sync = 0, /* hsync and vsync are active low */ .sync = 0, /* hsync and vsync are active low */
@@ -160,7 +160,7 @@ const static struct fb_videomode lcdc_720p_modes[] = {
}, },
}; };
const static struct fb_videomode lcdc_vga_modes[] = { static const struct fb_videomode lcdc_vga_modes[] = {
{ {
.name = "LB070WV1", .name = "LB070WV1",
.sync = 0, /* hsync and vsync are active low */ .sync = 0, /* hsync and vsync are active low */

View File

@@ -58,7 +58,7 @@ int register_trapped_io(struct trapped_io *tiop)
for (k = 0; k < tiop->num_resources; k++) { for (k = 0; k < tiop->num_resources; k++) {
res = tiop->resource + k; res = tiop->resource + k;
len += roundup((res->end - res->start) + 1, PAGE_SIZE); len += roundup(resource_size(res), PAGE_SIZE);
flags |= res->flags; flags |= res->flags;
} }
@@ -85,7 +85,7 @@ int register_trapped_io(struct trapped_io *tiop)
(unsigned long)(tiop->virt_base + len), (unsigned long)(tiop->virt_base + len),
res->flags & IORESOURCE_IO ? "io" : "mmio", res->flags & IORESOURCE_IO ? "io" : "mmio",
(unsigned long)res->start); (unsigned long)res->start);
len += roundup((res->end - res->start) + 1, PAGE_SIZE); len += roundup(resource_size(res), PAGE_SIZE);
} }
tiop->magic = IO_TRAPPED_MAGIC; tiop->magic = IO_TRAPPED_MAGIC;
@@ -128,7 +128,7 @@ void __iomem *match_trapped_io_handler(struct list_head *list,
return tiop->virt_base + voffs; return tiop->virt_base + voffs;
} }
len = (res->end - res->start) + 1; len = resource_size(res);
voffs += roundup(len, PAGE_SIZE); voffs += roundup(len, PAGE_SIZE);
} }
} }
@@ -173,7 +173,7 @@ static unsigned long lookup_address(struct trapped_io *tiop,
for (k = 0; k < tiop->num_resources; k++) { for (k = 0; k < tiop->num_resources; k++) {
res = tiop->resource + k; res = tiop->resource + k;
len = roundup((res->end - res->start) + 1, PAGE_SIZE); len = roundup(resource_size(res), PAGE_SIZE);
if (address < (vaddr + len)) if (address < (vaddr + len))
return res->start + (address - vaddr); return res->start + (address - vaddr);
vaddr += len; vaddr += len;

View File

@@ -170,7 +170,7 @@ void __init reserve_crashkernel(void)
if (crashk_res.end == crashk_res.start) if (crashk_res.end == crashk_res.start)
goto disable; goto disable;
crash_size = PAGE_ALIGN(crashk_res.end - crashk_res.start + 1); crash_size = PAGE_ALIGN(resource_size(&crashk_res));
if (!crashk_res.start) { if (!crashk_res.start) {
unsigned long max = memblock_end_of_DRAM() - memory_limit; unsigned long max = memblock_end_of_DRAM() - memory_limit;
crashk_res.start = __memblock_alloc_base(crash_size, PAGE_SIZE, max); crashk_res.start = __memblock_alloc_base(crash_size, PAGE_SIZE, max);

View File

@@ -186,7 +186,7 @@ static inline unsigned int sparc64_elf_hwcap(void)
return cap; return cap;
} }
#define ELF_HWCAP sparc64_elf_hwcap(); #define ELF_HWCAP sparc64_elf_hwcap()
/* This yields a string that ld.so will use to load implementation /* This yields a string that ld.so will use to load implementation
specific libraries for optimization. This is more specific in specific libraries for optimization. This is more specific in

View File

@@ -228,7 +228,7 @@ _sparc_ioremap(struct resource *res, u32 bus, u32 pa, int sz)
} }
pa &= PAGE_MASK; pa &= PAGE_MASK;
sparc_mapiorange(bus, pa, res->start, res->end - res->start + 1); sparc_mapiorange(bus, pa, res->start, resource_size(res));
return (void __iomem *)(unsigned long)(res->start + offset); return (void __iomem *)(unsigned long)(res->start + offset);
} }
@@ -240,7 +240,7 @@ static void _sparc_free_io(struct resource *res)
{ {
unsigned long plen; unsigned long plen;
plen = res->end - res->start + 1; plen = resource_size(res);
BUG_ON((plen & (PAGE_SIZE-1)) != 0); BUG_ON((plen & (PAGE_SIZE-1)) != 0);
sparc_unmapiorange(res->start, plen); sparc_unmapiorange(res->start, plen);
release_resource(res); release_resource(res);
@@ -331,9 +331,9 @@ static void sbus_free_coherent(struct device *dev, size_t n, void *p,
} }
n = PAGE_ALIGN(n); n = PAGE_ALIGN(n);
if ((res->end-res->start)+1 != n) { if (resource_size(res) != n) {
printk("sbus_free_consistent: region 0x%lx asked 0x%zx\n", printk("sbus_free_consistent: region 0x%lx asked 0x%zx\n",
(long)((res->end-res->start)+1), n); (long)resource_size(res), n);
return; return;
} }
@@ -504,9 +504,9 @@ static void pci32_free_coherent(struct device *dev, size_t n, void *p,
} }
n = PAGE_ALIGN(n); n = PAGE_ALIGN(n);
if ((res->end-res->start)+1 != n) { if (resource_size(res) != n) {
printk("pci_free_consistent: region 0x%lx asked 0x%lx\n", printk("pci_free_consistent: region 0x%lx asked 0x%lx\n",
(long)((res->end-res->start)+1), (long)n); (long)resource_size(res), (long)n);
return; return;
} }

Some files were not shown because too many files have changed in this diff Show More