Merge branch 'linus' into perf/core, to refresh the branch

Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Ingo Molnar 2015-07-21 07:57:44 +02:00
commit f6a74a5e15
741 changed files with 9023 additions and 4864 deletions

View File

@ -116,6 +116,7 @@ Shiraz Hashim <shiraz.linux.kernel@gmail.com> <shiraz.hashim@st.com>
Simon Kelley <simon@thekelleys.org.uk> Simon Kelley <simon@thekelleys.org.uk>
Stéphane Witzmann <stephane.witzmann@ubpmes.univ-bpclermont.fr> Stéphane Witzmann <stephane.witzmann@ubpmes.univ-bpclermont.fr>
Stephen Hemminger <shemminger@osdl.org> Stephen Hemminger <shemminger@osdl.org>
Sudeep Holla <sudeep.holla@arm.com> Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
Sumit Semwal <sumit.semwal@ti.com> Sumit Semwal <sumit.semwal@ti.com>
Tejun Heo <htejun@gmail.com> Tejun Heo <htejun@gmail.com>
Thomas Graf <tgraf@suug.ch> Thomas Graf <tgraf@suug.ch>
@ -125,7 +126,9 @@ Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Uwe Kleine-König <ukl@pengutronix.de> Uwe Kleine-König <ukl@pengutronix.de>
Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
Valdis Kletnieks <Valdis.Kletnieks@vt.edu> Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
Viresh Kumar <viresh.linux@gmail.com> <viresh.kumar@st.com> Viresh Kumar <vireshk@kernel.org> <viresh.kumar@st.com>
Viresh Kumar <vireshk@kernel.org> <viresh.linux@gmail.com>
Viresh Kumar <vireshk@kernel.org> <viresh.kumar2@arm.com>
Takashi YOSHII <takashi.yoshii.zj@renesas.com> Takashi YOSHII <takashi.yoshii.zj@renesas.com>
Yusuke Goda <goda.yusuke@renesas.com> Yusuke Goda <goda.yusuke@renesas.com>
Gustavo Padovan <gustavo@las.ic.unicamp.br> Gustavo Padovan <gustavo@las.ic.unicamp.br>

View File

@ -1234,10 +1234,8 @@ Description:
object is near the sensor, usually be observing object is near the sensor, usually be observing
reflectivity of infrared or ultrasound emitted. reflectivity of infrared or ultrasound emitted.
Often these sensors are unit less and as such conversion Often these sensors are unit less and as such conversion
to SI units is not possible. Where it is, the units should to SI units is not possible. Higher proximity measurements
be meters. If such a conversion is not possible, the reported indicate closer objects, and vice versa.
values should behave in the same way as a distance, i.e. lower
values indicate something is closer to the sensor.
What: /sys/.../iio:deviceX/in_illuminance_input What: /sys/.../iio:deviceX/in_illuminance_input
What: /sys/.../iio:deviceX/in_illuminance_raw What: /sys/.../iio:deviceX/in_illuminance_raw

View File

@ -3383,7 +3383,7 @@ void intel_crt_init(struct drm_device *dev)
<td valign="top" >TBD</td> <td valign="top" >TBD</td>
</tr> </tr>
<tr> <tr>
<td rowspan="2" valign="top" >omap</td> <td valign="top" >omap</td>
<td valign="top" >Generic</td> <td valign="top" >Generic</td>
<td valign="top" >“zorder”</td> <td valign="top" >“zorder”</td>
<td valign="top" >RANGE</td> <td valign="top" >RANGE</td>

View File

@ -60,4 +60,4 @@ Introduction
Document Author Document Author
--------------- ---------------
Viresh Kumar <viresh.linux@gmail.com>, (c) 2010-2012 ST Microelectronics Viresh Kumar <vireshk@kernel.org>, (c) 2010-2012 ST Microelectronics

View File

@ -36,7 +36,7 @@ SunXi family
+ User Manual + User Manual
http://dl.linux-sunxi.org/A20/A20%20User%20Manual%202013-03-22.pdf http://dl.linux-sunxi.org/A20/A20%20User%20Manual%202013-03-22.pdf
- Allwinner A23 - Allwinner A23 (sun8i)
+ Datasheet + Datasheet
http://dl.linux-sunxi.org/A23/A23%20Datasheet%20V1.0%2020130830.pdf http://dl.linux-sunxi.org/A23/A23%20Datasheet%20V1.0%2020130830.pdf
+ User Manual + User Manual
@ -55,7 +55,23 @@ SunXi family
+ User Manual + User Manual
http://dl.linux-sunxi.org/A31/A3x_release_document/A31s/IC/A31s%20User%20Manual%20%20V1.0%2020130322.pdf http://dl.linux-sunxi.org/A31/A3x_release_document/A31s/IC/A31s%20User%20Manual%20%20V1.0%2020130322.pdf
- Allwinner A33 (sun8i)
+ Datasheet
http://dl.linux-sunxi.org/A33/A33%20Datasheet%20release%201.1.pdf
+ User Manual
http://dl.linux-sunxi.org/A33/A33%20user%20manual%20release%201.1.pdf
- Allwinner H3 (sun8i)
+ Datasheet
http://dl.linux-sunxi.org/H3/Allwinner_H3_Datasheet_V1.0.pdf
* Quad ARM Cortex-A15, Quad ARM Cortex-A7 based SoCs * Quad ARM Cortex-A15, Quad ARM Cortex-A7 based SoCs
- Allwinner A80 - Allwinner A80
+ Datasheet + Datasheet
http://dl.linux-sunxi.org/A80/A80_Datasheet_Revision_1.0_0404.pdf http://dl.linux-sunxi.org/A80/A80_Datasheet_Revision_1.0_0404.pdf
* Octa ARM Cortex-A7 based SoCs
- Allwinner A83T
+ Not Supported
+ Datasheet
http://dl.linux-sunxi.org/A83T/A83T_datasheet_Revision_1.1.pdf

View File

@ -258,6 +258,12 @@ cache metadata mode : ro if read-only, rw if read-write
no further I/O will be permitted and the status will just no further I/O will be permitted and the status will just
contain the string 'Fail'. The userspace recovery tools contain the string 'Fail'. The userspace recovery tools
should then be used. should then be used.
needs_check : 'needs_check' if set, '-' if not set
A metadata operation has failed, resulting in the needs_check
flag being set in the metadata's superblock. The metadata
device must be deactivated and checked/repaired before the
cache can be made fully operational again. '-' indicates
needs_check is not set.
Messages Messages
-------- --------

View File

@ -296,7 +296,7 @@ ii) Status
underlying device. When this is enabled when loading the table, underlying device. When this is enabled when loading the table,
it can get disabled if the underlying device doesn't support it. it can get disabled if the underlying device doesn't support it.
ro|rw ro|rw|out_of_data_space
If the pool encounters certain types of device failures it will If the pool encounters certain types of device failures it will
drop into a read-only metadata mode in which no changes to drop into a read-only metadata mode in which no changes to
the pool metadata (like allocating new blocks) are permitted. the pool metadata (like allocating new blocks) are permitted.
@ -314,6 +314,13 @@ ii) Status
module parameter can be used to change this timeout -- it module parameter can be used to change this timeout -- it
defaults to 60 seconds but may be disabled using a value of 0. defaults to 60 seconds but may be disabled using a value of 0.
needs_check
A metadata operation has failed, resulting in the needs_check
flag being set in the metadata's superblock. The metadata
device must be deactivated and checked/repaired before the
thin-pool can be made fully operational again. '-' indicates
needs_check is not set.
iii) Messages iii) Messages
create_thin <dev id> create_thin <dev id>

View File

@ -9,4 +9,6 @@ using one of the following compatible strings:
allwinner,sun6i-a31 allwinner,sun6i-a31
allwinner,sun7i-a20 allwinner,sun7i-a20
allwinner,sun8i-a23 allwinner,sun8i-a23
allwinner,sun8i-a33
allwinner,sun8i-h3
allwinner,sun9i-a80 allwinner,sun9i-a80

View File

@ -65,8 +65,10 @@ Optional properties:
- edid: verbatim EDID data block describing attached display. - edid: verbatim EDID data block describing attached display.
- ddc: phandle describing the i2c bus handling the display data - ddc: phandle describing the i2c bus handling the display data
channel channel
- port: A port node with endpoint definitions as defined in - port@[0-1]: Port nodes with endpoint definitions as defined in
Documentation/devicetree/bindings/media/video-interfaces.txt. Documentation/devicetree/bindings/media/video-interfaces.txt.
Port 0 is the input port connected to the IPU display interface,
port 1 is the output port connected to a panel.
example: example:
@ -75,9 +77,29 @@ display@di0 {
edid = [edid-data]; edid = [edid-data];
interface-pix-fmt = "rgb24"; interface-pix-fmt = "rgb24";
port { port@0 {
reg = <0>;
display_in: endpoint { display_in: endpoint {
remote-endpoint = <&ipu_di0_disp0>; remote-endpoint = <&ipu_di0_disp0>;
}; };
}; };
port@1 {
reg = <1>;
display_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
panel {
...
port {
panel_in: endpoint {
remote-endpoint = <&display_out>;
};
};
}; };

View File

@ -8,6 +8,7 @@ of the EMIF IP and memory parts attached to it.
Required properties: Required properties:
- compatible : Should be of the form "ti,emif-<ip-rev>" where <ip-rev> - compatible : Should be of the form "ti,emif-<ip-rev>" where <ip-rev>
is the IP revision of the specific EMIF instance. is the IP revision of the specific EMIF instance.
For am437x should be ti,emif-am4372.
- phy-type : <u32> indicating the DDR phy type. Following are the - phy-type : <u32> indicating the DDR phy type. Following are the
allowed values allowed values

View File

@ -952,6 +952,14 @@ When kbuild executes, the following steps are followed (roughly):
$(KBUILD_ARFLAGS) set by the top level Makefile to "D" (deterministic $(KBUILD_ARFLAGS) set by the top level Makefile to "D" (deterministic
mode) if this option is supported by $(AR). mode) if this option is supported by $(AR).
ARCH_CPPFLAGS, ARCH_AFLAGS, ARCH_CFLAGS Overrides the kbuild defaults
These variables are appended to the KBUILD_CPPFLAGS,
KBUILD_AFLAGS, and KBUILD_CFLAGS, respectively, after the
top-level Makefile has set any other flags. This provides a
means for an architecture to override the defaults.
--- 6.2 Add prerequisites to archheaders: --- 6.2 Add prerequisites to archheaders:
The archheaders: rule is used to generate header files that The archheaders: rule is used to generate header files that

View File

@ -410,8 +410,17 @@ Documentation/usb/persist.txt.
Q: Can I suspend-to-disk using a swap partition under LVM? Q: Can I suspend-to-disk using a swap partition under LVM?
A: No. You can suspend successfully, but you'll not be able to A: Yes and No. You can suspend successfully, but the kernel will not be able
resume. uswsusp should be able to work with LVM. See suspend.sf.net. to resume on its own. You need an initramfs that can recognize the resume
situation, activate the logical volume containing the swap volume (but not
touch any filesystems!), and eventually call
echo -n "$major:$minor" > /sys/power/resume
where $major and $minor are the respective major and minor device numbers of
the swap volume.
uswsusp works with LVM, too. See http://suspend.sourceforge.net/
Q: I upgraded the kernel from 2.6.15 to 2.6.16. Both kernels were Q: I upgraded the kernel from 2.6.15 to 2.6.16. Both kernels were
compiled with the similar configuration files. Anyway I found that compiled with the similar configuration files. Anyway I found that

View File

@ -361,11 +361,11 @@ S: Supported
F: drivers/input/touchscreen/ad7879.c F: drivers/input/touchscreen/ad7879.c
ADDRESS SPACE LAYOUT RANDOMIZATION (ASLR) ADDRESS SPACE LAYOUT RANDOMIZATION (ASLR)
M: Jiri Kosina <jkosina@suse.cz> M: Jiri Kosina <jkosina@suse.com>
S: Maintained S: Maintained
ADM1025 HARDWARE MONITOR DRIVER ADM1025 HARDWARE MONITOR DRIVER
M: Jean Delvare <jdelvare@suse.de> M: Jean Delvare <jdelvare@suse.com>
L: lm-sensors@lm-sensors.org L: lm-sensors@lm-sensors.org
S: Maintained S: Maintained
F: Documentation/hwmon/adm1025 F: Documentation/hwmon/adm1025
@ -430,7 +430,7 @@ S: Maintained
F: drivers/macintosh/therm_adt746x.c F: drivers/macintosh/therm_adt746x.c
ADT7475 HARDWARE MONITOR DRIVER ADT7475 HARDWARE MONITOR DRIVER
M: Jean Delvare <jdelvare@suse.de> M: Jean Delvare <jdelvare@suse.com>
L: lm-sensors@lm-sensors.org L: lm-sensors@lm-sensors.org
S: Maintained S: Maintained
F: Documentation/hwmon/adt7475 F: Documentation/hwmon/adt7475
@ -445,7 +445,7 @@ F: drivers/input/misc/adxl34x.c
ADVANSYS SCSI DRIVER ADVANSYS SCSI DRIVER
M: Matthew Wilcox <matthew@wil.cx> M: Matthew Wilcox <matthew@wil.cx>
M: Hannes Reinecke <hare@suse.de> M: Hannes Reinecke <hare@suse.com>
L: linux-scsi@vger.kernel.org L: linux-scsi@vger.kernel.org
S: Maintained S: Maintained
F: Documentation/scsi/advansys.txt F: Documentation/scsi/advansys.txt
@ -506,7 +506,7 @@ F: drivers/scsi/aha152x*
F: drivers/scsi/pcmcia/aha152x* F: drivers/scsi/pcmcia/aha152x*
AIC7XXX / AIC79XX SCSI DRIVER AIC7XXX / AIC79XX SCSI DRIVER
M: Hannes Reinecke <hare@suse.de> M: Hannes Reinecke <hare@suse.com>
L: linux-scsi@vger.kernel.org L: linux-scsi@vger.kernel.org
S: Maintained S: Maintained
F: drivers/scsi/aic7xxx/ F: drivers/scsi/aic7xxx/
@ -746,7 +746,7 @@ S: Maintained
F: sound/aoa/ F: sound/aoa/
APM DRIVER APM DRIVER
M: Jiri Kosina <jkosina@suse.cz> M: Jiri Kosina <jkosina@suse.com>
S: Odd fixes S: Odd fixes
F: arch/x86/kernel/apm_32.c F: arch/x86/kernel/apm_32.c
F: include/linux/apm_bios.h F: include/linux/apm_bios.h
@ -1001,6 +1001,7 @@ ARM/CONEXANT DIGICOLOR MACHINE SUPPORT
M: Baruch Siach <baruch@tkos.co.il> M: Baruch Siach <baruch@tkos.co.il>
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/boot/dts/cx92755*
N: digicolor N: digicolor
ARM/EBSA110 MACHINE SUPPORT ARM/EBSA110 MACHINE SUPPORT
@ -1324,7 +1325,7 @@ F: arch/arm/mach-pxa/include/mach/palmtc.h
F: arch/arm/mach-pxa/palmtc.c F: arch/arm/mach-pxa/palmtc.c
ARM/PALM TREO SUPPORT ARM/PALM TREO SUPPORT
M: Tomas Cech <sleep_walker@suse.cz> M: Tomas Cech <sleep_walker@suse.com>
L: linux-arm-kernel@lists.infradead.org L: linux-arm-kernel@lists.infradead.org
W: http://hackndev.com W: http://hackndev.com
S: Maintained S: Maintained
@ -1614,6 +1615,7 @@ M: Lorenzo Pieralisi <lorenzo.pieralisi@arm.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/boot/dts/vexpress* F: arch/arm/boot/dts/vexpress*
F: arch/arm64/boot/dts/arm/vexpress*
F: arch/arm/mach-vexpress/ F: arch/arm/mach-vexpress/
F: */*/vexpress* F: */*/vexpress*
F: */*/*/vexpress* F: */*/*/vexpress*
@ -2404,7 +2406,7 @@ F: drivers/gpio/gpio-bt8xx.c
BTRFS FILE SYSTEM BTRFS FILE SYSTEM
M: Chris Mason <clm@fb.com> M: Chris Mason <clm@fb.com>
M: Josef Bacik <jbacik@fb.com> M: Josef Bacik <jbacik@fb.com>
M: David Sterba <dsterba@suse.cz> M: David Sterba <dsterba@suse.com>
L: linux-btrfs@vger.kernel.org L: linux-btrfs@vger.kernel.org
W: http://btrfs.wiki.kernel.org/ W: http://btrfs.wiki.kernel.org/
Q: http://patchwork.kernel.org/project/linux-btrfs/list/ Q: http://patchwork.kernel.org/project/linux-btrfs/list/
@ -2562,19 +2564,31 @@ F: arch/powerpc/include/uapi/asm/spu*.h
F: arch/powerpc/oprofile/*cell* F: arch/powerpc/oprofile/*cell*
F: arch/powerpc/platforms/cell/ F: arch/powerpc/platforms/cell/
CEPH DISTRIBUTED FILE SYSTEM CLIENT CEPH COMMON CODE (LIBCEPH)
M: Ilya Dryomov <idryomov@gmail.com>
M: "Yan, Zheng" <zyan@redhat.com> M: "Yan, Zheng" <zyan@redhat.com>
M: Sage Weil <sage@redhat.com> M: Sage Weil <sage@redhat.com>
L: ceph-devel@vger.kernel.org L: ceph-devel@vger.kernel.org
W: http://ceph.com/ W: http://ceph.com/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
T: git git://github.com/ceph/ceph-client.git
S: Supported S: Supported
F: Documentation/filesystems/ceph.txt
F: fs/ceph/
F: net/ceph/ F: net/ceph/
F: include/linux/ceph/ F: include/linux/ceph/
F: include/linux/crush/ F: include/linux/crush/
CEPH DISTRIBUTED FILE SYSTEM CLIENT (CEPH)
M: "Yan, Zheng" <zyan@redhat.com>
M: Sage Weil <sage@redhat.com>
M: Ilya Dryomov <idryomov@gmail.com>
L: ceph-devel@vger.kernel.org
W: http://ceph.com/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
T: git git://github.com/ceph/ceph-client.git
S: Supported
F: Documentation/filesystems/ceph.txt
F: fs/ceph/
CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM: CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM:
L: linux-usb@vger.kernel.org L: linux-usb@vger.kernel.org
S: Orphan S: Orphan
@ -2735,7 +2749,7 @@ COCCINELLE/Semantic Patches (SmPL)
M: Julia Lawall <Julia.Lawall@lip6.fr> M: Julia Lawall <Julia.Lawall@lip6.fr>
M: Gilles Muller <Gilles.Muller@lip6.fr> M: Gilles Muller <Gilles.Muller@lip6.fr>
M: Nicolas Palix <nicolas.palix@imag.fr> M: Nicolas Palix <nicolas.palix@imag.fr>
M: Michal Marek <mmarek@suse.cz> M: Michal Marek <mmarek@suse.com>
L: cocci@systeme.lip6.fr (moderated for non-subscribers) L: cocci@systeme.lip6.fr (moderated for non-subscribers)
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git misc T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git misc
W: http://coccinelle.lip6.fr/ W: http://coccinelle.lip6.fr/
@ -2851,7 +2865,7 @@ F: kernel/cpuset.c
CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG) CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG)
M: Johannes Weiner <hannes@cmpxchg.org> M: Johannes Weiner <hannes@cmpxchg.org>
M: Michal Hocko <mhocko@suse.cz> M: Michal Hocko <mhocko@kernel.org>
L: cgroups@vger.kernel.org L: cgroups@vger.kernel.org
L: linux-mm@kvack.org L: linux-mm@kvack.org
S: Maintained S: Maintained
@ -2932,7 +2946,7 @@ F: arch/x86/kernel/cpuid.c
F: arch/x86/kernel/msr.c F: arch/x86/kernel/msr.c
CPU POWER MONITORING SUBSYSTEM CPU POWER MONITORING SUBSYSTEM
M: Thomas Renninger <trenn@suse.de> M: Thomas Renninger <trenn@suse.com>
L: linux-pm@vger.kernel.org L: linux-pm@vger.kernel.org
S: Maintained S: Maintained
F: tools/power/cpupower/ F: tools/power/cpupower/
@ -3162,7 +3176,7 @@ F: Documentation/networking/dmfe.txt
F: drivers/net/ethernet/dec/tulip/dmfe.c F: drivers/net/ethernet/dec/tulip/dmfe.c
DC390/AM53C974 SCSI driver DC390/AM53C974 SCSI driver
M: Hannes Reinecke <hare@suse.de> M: Hannes Reinecke <hare@suse.com>
L: linux-scsi@vger.kernel.org L: linux-scsi@vger.kernel.org
S: Maintained S: Maintained
F: drivers/scsi/am53c974.c F: drivers/scsi/am53c974.c
@ -3366,7 +3380,7 @@ W: http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
S: Maintained S: Maintained
DISKQUOTA DISKQUOTA
M: Jan Kara <jack@suse.cz> M: Jan Kara <jack@suse.com>
S: Maintained S: Maintained
F: Documentation/filesystems/quota.txt F: Documentation/filesystems/quota.txt
F: fs/quota/ F: fs/quota/
@ -3422,7 +3436,7 @@ F: Documentation/hwmon/dme1737
F: drivers/hwmon/dme1737.c F: drivers/hwmon/dme1737.c
DMI/SMBIOS SUPPORT DMI/SMBIOS SUPPORT
M: Jean Delvare <jdelvare@suse.de> M: Jean Delvare <jdelvare@suse.com>
S: Maintained S: Maintained
T: quilt http://jdelvare.nerim.net/devel/linux/jdelvare-dmi/ T: quilt http://jdelvare.nerim.net/devel/linux/jdelvare-dmi/
F: Documentation/ABI/testing/sysfs-firmware-dmi-tables F: Documentation/ABI/testing/sysfs-firmware-dmi-tables
@ -4038,7 +4052,7 @@ F: drivers/of/of_mdio.c
F: drivers/of/of_net.c F: drivers/of/of_net.c
EXT2 FILE SYSTEM EXT2 FILE SYSTEM
M: Jan Kara <jack@suse.cz> M: Jan Kara <jack@suse.com>
L: linux-ext4@vger.kernel.org L: linux-ext4@vger.kernel.org
S: Maintained S: Maintained
F: Documentation/filesystems/ext2.txt F: Documentation/filesystems/ext2.txt
@ -4046,7 +4060,7 @@ F: fs/ext2/
F: include/linux/ext2* F: include/linux/ext2*
EXT3 FILE SYSTEM EXT3 FILE SYSTEM
M: Jan Kara <jack@suse.cz> M: Jan Kara <jack@suse.com>
M: Andrew Morton <akpm@linux-foundation.org> M: Andrew Morton <akpm@linux-foundation.org>
M: Andreas Dilger <adilger.kernel@dilger.ca> M: Andreas Dilger <adilger.kernel@dilger.ca>
L: linux-ext4@vger.kernel.org L: linux-ext4@vger.kernel.org
@ -4096,7 +4110,7 @@ F: drivers/video/fbdev/exynos/exynos_mipi*
F: include/video/exynos_mipi* F: include/video/exynos_mipi*
F71805F HARDWARE MONITORING DRIVER F71805F HARDWARE MONITORING DRIVER
M: Jean Delvare <jdelvare@suse.de> M: Jean Delvare <jdelvare@suse.com>
L: lm-sensors@lm-sensors.org L: lm-sensors@lm-sensors.org
S: Maintained S: Maintained
F: Documentation/hwmon/f71805f F: Documentation/hwmon/f71805f
@ -4231,7 +4245,7 @@ S: Maintained
F: drivers/block/rsxx/ F: drivers/block/rsxx/
FLOPPY DRIVER FLOPPY DRIVER
M: Jiri Kosina <jkosina@suse.cz> M: Jiri Kosina <jkosina@suse.com>
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/floppy.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/floppy.git
S: Odd fixes S: Odd fixes
F: drivers/block/floppy.c F: drivers/block/floppy.c
@ -4652,7 +4666,7 @@ F: drivers/media/usb/stk1160/
H8/300 ARCHITECTURE H8/300 ARCHITECTURE
M: Yoshinori Sato <ysato@users.sourceforge.jp> M: Yoshinori Sato <ysato@users.sourceforge.jp>
L: uclinux-h8-devel@lists.sourceforge.jp L: uclinux-h8-devel@lists.sourceforge.jp (moderated for non-subscribers)
W: http://uclinux-h8.sourceforge.jp W: http://uclinux-h8.sourceforge.jp
T: git git://git.sourceforge.jp/gitroot/uclinux-h8/linux.git T: git git://git.sourceforge.jp/gitroot/uclinux-h8/linux.git
S: Maintained S: Maintained
@ -4699,7 +4713,7 @@ S: Maintained
F: drivers/media/usb/hackrf/ F: drivers/media/usb/hackrf/
HARDWARE MONITORING HARDWARE MONITORING
M: Jean Delvare <jdelvare@suse.de> M: Jean Delvare <jdelvare@suse.com>
M: Guenter Roeck <linux@roeck-us.net> M: Guenter Roeck <linux@roeck-us.net>
L: lm-sensors@lm-sensors.org L: lm-sensors@lm-sensors.org
W: http://www.lm-sensors.org/ W: http://www.lm-sensors.org/
@ -4802,7 +4816,7 @@ F: include/linux/pm.h
F: arch/*/include/asm/suspend*.h F: arch/*/include/asm/suspend*.h
HID CORE LAYER HID CORE LAYER
M: Jiri Kosina <jkosina@suse.cz> M: Jiri Kosina <jkosina@suse.com>
L: linux-input@vger.kernel.org L: linux-input@vger.kernel.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
S: Maintained S: Maintained
@ -4811,7 +4825,7 @@ F: include/linux/hid*
F: include/uapi/linux/hid* F: include/uapi/linux/hid*
HID SENSOR HUB DRIVERS HID SENSOR HUB DRIVERS
M: Jiri Kosina <jkosina@suse.cz> M: Jiri Kosina <jkosina@suse.com>
M: Jonathan Cameron <jic23@kernel.org> M: Jonathan Cameron <jic23@kernel.org>
M: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> M: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
L: linux-input@vger.kernel.org L: linux-input@vger.kernel.org
@ -4945,7 +4959,7 @@ F: include/linux/hyperv.h
F: tools/hv/ F: tools/hv/
I2C OVER PARALLEL PORT I2C OVER PARALLEL PORT
M: Jean Delvare <jdelvare@suse.de> M: Jean Delvare <jdelvare@suse.com>
L: linux-i2c@vger.kernel.org L: linux-i2c@vger.kernel.org
S: Maintained S: Maintained
F: Documentation/i2c/busses/i2c-parport F: Documentation/i2c/busses/i2c-parport
@ -4954,7 +4968,7 @@ F: drivers/i2c/busses/i2c-parport.c
F: drivers/i2c/busses/i2c-parport-light.c F: drivers/i2c/busses/i2c-parport-light.c
I2C/SMBUS CONTROLLER DRIVERS FOR PC I2C/SMBUS CONTROLLER DRIVERS FOR PC
M: Jean Delvare <jdelvare@suse.de> M: Jean Delvare <jdelvare@suse.com>
L: linux-i2c@vger.kernel.org L: linux-i2c@vger.kernel.org
S: Maintained S: Maintained
F: Documentation/i2c/busses/i2c-ali1535 F: Documentation/i2c/busses/i2c-ali1535
@ -4995,7 +5009,7 @@ F: drivers/i2c/busses/i2c-ismt.c
F: Documentation/i2c/busses/i2c-ismt F: Documentation/i2c/busses/i2c-ismt
I2C/SMBUS STUB DRIVER I2C/SMBUS STUB DRIVER
M: Jean Delvare <jdelvare@suse.de> M: Jean Delvare <jdelvare@suse.com>
L: linux-i2c@vger.kernel.org L: linux-i2c@vger.kernel.org
S: Maintained S: Maintained
F: drivers/i2c/i2c-stub.c F: drivers/i2c/i2c-stub.c
@ -5022,7 +5036,7 @@ L: linux-acpi@vger.kernel.org
S: Maintained S: Maintained
I2C-TAOS-EVM DRIVER I2C-TAOS-EVM DRIVER
M: Jean Delvare <jdelvare@suse.de> M: Jean Delvare <jdelvare@suse.com>
L: linux-i2c@vger.kernel.org L: linux-i2c@vger.kernel.org
S: Maintained S: Maintained
F: Documentation/i2c/busses/i2c-taos-evm F: Documentation/i2c/busses/i2c-taos-evm
@ -5551,8 +5565,8 @@ F: include/uapi/linux/ip_vs.h
F: net/netfilter/ipvs/ F: net/netfilter/ipvs/
IPWIRELESS DRIVER IPWIRELESS DRIVER
M: Jiri Kosina <jkosina@suse.cz> M: Jiri Kosina <jkosina@suse.com>
M: David Sterba <dsterba@suse.cz> M: David Sterba <dsterba@suse.com>
S: Odd Fixes S: Odd Fixes
F: drivers/tty/ipwireless/ F: drivers/tty/ipwireless/
@ -5672,7 +5686,7 @@ S: Maintained
F: drivers/isdn/hardware/eicon/ F: drivers/isdn/hardware/eicon/
IT87 HARDWARE MONITORING DRIVER IT87 HARDWARE MONITORING DRIVER
M: Jean Delvare <jdelvare@suse.de> M: Jean Delvare <jdelvare@suse.com>
L: lm-sensors@lm-sensors.org L: lm-sensors@lm-sensors.org
S: Maintained S: Maintained
F: Documentation/hwmon/it87 F: Documentation/hwmon/it87
@ -5739,7 +5753,7 @@ F: include/uapi/linux/jffs2.h
JOURNALLING LAYER FOR BLOCK DEVICES (JBD) JOURNALLING LAYER FOR BLOCK DEVICES (JBD)
M: Andrew Morton <akpm@linux-foundation.org> M: Andrew Morton <akpm@linux-foundation.org>
M: Jan Kara <jack@suse.cz> M: Jan Kara <jack@suse.com>
L: linux-ext4@vger.kernel.org L: linux-ext4@vger.kernel.org
S: Maintained S: Maintained
F: fs/jbd/ F: fs/jbd/
@ -5803,7 +5817,7 @@ S: Maintained
F: fs/autofs4/ F: fs/autofs4/
KERNEL BUILD + files below scripts/ (unless maintained elsewhere) KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
M: Michal Marek <mmarek@suse.cz> M: Michal Marek <mmarek@suse.com>
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git for-next T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git for-next
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git rc-fixes T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git rc-fixes
L: linux-kbuild@vger.kernel.org L: linux-kbuild@vger.kernel.org
@ -5867,7 +5881,7 @@ F: arch/x86/include/asm/svm.h
F: arch/x86/kvm/svm.c F: arch/x86/kvm/svm.c
KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC
M: Alexander Graf <agraf@suse.de> M: Alexander Graf <agraf@suse.com>
L: kvm-ppc@vger.kernel.org L: kvm-ppc@vger.kernel.org
W: http://kvm.qumranet.com W: http://kvm.qumranet.com
T: git git://github.com/agraf/linux-2.6.git T: git git://github.com/agraf/linux-2.6.git
@ -6024,7 +6038,7 @@ F: drivers/leds/
F: include/linux/leds.h F: include/linux/leds.h
LEGACY EEPROM DRIVER LEGACY EEPROM DRIVER
M: Jean Delvare <jdelvare@suse.de> M: Jean Delvare <jdelvare@suse.com>
S: Maintained S: Maintained
F: Documentation/misc-devices/eeprom F: Documentation/misc-devices/eeprom
F: drivers/misc/eeprom/eeprom.c F: drivers/misc/eeprom/eeprom.c
@ -6077,7 +6091,7 @@ F: include/linux/ata.h
F: include/linux/libata.h F: include/linux/libata.h
LIBATA PATA ARASAN COMPACT FLASH CONTROLLER LIBATA PATA ARASAN COMPACT FLASH CONTROLLER
M: Viresh Kumar <viresh.linux@gmail.com> M: Viresh Kumar <vireshk@kernel.org>
L: linux-ide@vger.kernel.org L: linux-ide@vger.kernel.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
S: Maintained S: Maintained
@ -6147,6 +6161,7 @@ L: linux-nvdimm@lists.01.org
Q: https://patchwork.kernel.org/project/linux-nvdimm/list/ Q: https://patchwork.kernel.org/project/linux-nvdimm/list/
S: Supported S: Supported
F: drivers/nvdimm/pmem.c F: drivers/nvdimm/pmem.c
F: include/linux/pmem.h
LINUX FOR IBM pSERIES (RS/6000) LINUX FOR IBM pSERIES (RS/6000)
M: Paul Mackerras <paulus@au.ibm.com> M: Paul Mackerras <paulus@au.ibm.com>
@ -6161,7 +6176,7 @@ M: Michael Ellerman <mpe@ellerman.id.au>
W: http://www.penguinppc.org/ W: http://www.penguinppc.org/
L: linuxppc-dev@lists.ozlabs.org L: linuxppc-dev@lists.ozlabs.org
Q: http://patchwork.ozlabs.org/project/linuxppc-dev/list/ Q: http://patchwork.ozlabs.org/project/linuxppc-dev/list/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
S: Supported S: Supported
F: Documentation/powerpc/ F: Documentation/powerpc/
F: arch/powerpc/ F: arch/powerpc/
@ -6237,8 +6252,8 @@ F: drivers/platform/x86/hp_accel.c
LIVE PATCHING LIVE PATCHING
M: Josh Poimboeuf <jpoimboe@redhat.com> M: Josh Poimboeuf <jpoimboe@redhat.com>
M: Seth Jennings <sjenning@redhat.com> M: Seth Jennings <sjenning@redhat.com>
M: Jiri Kosina <jkosina@suse.cz> M: Jiri Kosina <jkosina@suse.com>
M: Vojtech Pavlik <vojtech@suse.cz> M: Vojtech Pavlik <vojtech@suse.com>
S: Maintained S: Maintained
F: kernel/livepatch/ F: kernel/livepatch/
F: include/linux/livepatch.h F: include/linux/livepatch.h
@ -6264,21 +6279,21 @@ S: Maintained
F: drivers/hwmon/lm73.c F: drivers/hwmon/lm73.c
LM78 HARDWARE MONITOR DRIVER LM78 HARDWARE MONITOR DRIVER
M: Jean Delvare <jdelvare@suse.de> M: Jean Delvare <jdelvare@suse.com>
L: lm-sensors@lm-sensors.org L: lm-sensors@lm-sensors.org
S: Maintained S: Maintained
F: Documentation/hwmon/lm78 F: Documentation/hwmon/lm78
F: drivers/hwmon/lm78.c F: drivers/hwmon/lm78.c
LM83 HARDWARE MONITOR DRIVER LM83 HARDWARE MONITOR DRIVER
M: Jean Delvare <jdelvare@suse.de> M: Jean Delvare <jdelvare@suse.com>
L: lm-sensors@lm-sensors.org L: lm-sensors@lm-sensors.org
S: Maintained S: Maintained
F: Documentation/hwmon/lm83 F: Documentation/hwmon/lm83
F: drivers/hwmon/lm83.c F: drivers/hwmon/lm83.c
LM90 HARDWARE MONITOR DRIVER LM90 HARDWARE MONITOR DRIVER
M: Jean Delvare <jdelvare@suse.de> M: Jean Delvare <jdelvare@suse.com>
L: lm-sensors@lm-sensors.org L: lm-sensors@lm-sensors.org
S: Maintained S: Maintained
F: Documentation/hwmon/lm90 F: Documentation/hwmon/lm90
@ -7005,6 +7020,7 @@ F: include/uapi/linux/netfilter/
F: net/*/netfilter.c F: net/*/netfilter.c
F: net/*/netfilter/ F: net/*/netfilter/
F: net/netfilter/ F: net/netfilter/
F: net/bridge/br_netfilter*.c
NETLABEL NETLABEL
M: Paul Moore <paul@paul-moore.com> M: Paul Moore <paul@paul-moore.com>
@ -7704,7 +7720,7 @@ S: Maintained
F: drivers/char/pc8736x_gpio.c F: drivers/char/pc8736x_gpio.c
PC87427 HARDWARE MONITORING DRIVER PC87427 HARDWARE MONITORING DRIVER
M: Jean Delvare <jdelvare@suse.de> M: Jean Delvare <jdelvare@suse.com>
L: lm-sensors@lm-sensors.org L: lm-sensors@lm-sensors.org
S: Maintained S: Maintained
F: Documentation/hwmon/pc87427 F: Documentation/hwmon/pc87427
@ -7981,7 +7997,7 @@ S: Maintained
F: drivers/pinctrl/samsung/ F: drivers/pinctrl/samsung/
PIN CONTROLLER - ST SPEAR PIN CONTROLLER - ST SPEAR
M: Viresh Kumar <viresh.linux@gmail.com> M: Viresh Kumar <vireshk@kernel.org>
L: spear-devel@list.st.com L: spear-devel@list.st.com
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
W: http://www.st.com/spear W: http://www.st.com/spear
@ -7989,7 +8005,7 @@ S: Maintained
F: drivers/pinctrl/spear/ F: drivers/pinctrl/spear/
PKTCDVD DRIVER PKTCDVD DRIVER
M: Jiri Kosina <jkosina@suse.cz> M: Jiri Kosina <jkosina@suse.com>
S: Maintained S: Maintained
F: drivers/block/pktcdvd.c F: drivers/block/pktcdvd.c
F: include/linux/pktcdvd.h F: include/linux/pktcdvd.h
@ -8366,10 +8382,12 @@ RADOS BLOCK DEVICE (RBD)
M: Ilya Dryomov <idryomov@gmail.com> M: Ilya Dryomov <idryomov@gmail.com>
M: Sage Weil <sage@redhat.com> M: Sage Weil <sage@redhat.com>
M: Alex Elder <elder@kernel.org> M: Alex Elder <elder@kernel.org>
M: ceph-devel@vger.kernel.org L: ceph-devel@vger.kernel.org
W: http://ceph.com/ W: http://ceph.com/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
T: git git://github.com/ceph/ceph-client.git
S: Supported S: Supported
F: Documentation/ABI/testing/sysfs-bus-rbd
F: drivers/block/rbd.c F: drivers/block/rbd.c
F: drivers/block/rbd_types.h F: drivers/block/rbd_types.h
@ -8878,7 +8896,7 @@ S: Maintained
F: drivers/tty/serial/ F: drivers/tty/serial/
SYNOPSYS DESIGNWARE DMAC DRIVER SYNOPSYS DESIGNWARE DMAC DRIVER
M: Viresh Kumar <viresh.linux@gmail.com> M: Viresh Kumar <vireshk@kernel.org>
M: Andy Shevchenko <andriy.shevchenko@linux.intel.com> M: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
S: Maintained S: Maintained
F: include/linux/dma/dw.h F: include/linux/dma/dw.h
@ -9045,7 +9063,7 @@ S: Maintained
F: drivers/mmc/host/sdhci-s3c* F: drivers/mmc/host/sdhci-s3c*
SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER
M: Viresh Kumar <viresh.linux@gmail.com> M: Viresh Kumar <vireshk@kernel.org>
L: spear-devel@list.st.com L: spear-devel@list.st.com
L: linux-mmc@vger.kernel.org L: linux-mmc@vger.kernel.org
S: Maintained S: Maintained
@ -9407,7 +9425,7 @@ F: Documentation/hwmon/sch5627
F: drivers/hwmon/sch5627.c F: drivers/hwmon/sch5627.c
SMSC47B397 HARDWARE MONITOR DRIVER SMSC47B397 HARDWARE MONITOR DRIVER
M: Jean Delvare <jdelvare@suse.de> M: Jean Delvare <jdelvare@suse.com>
L: lm-sensors@lm-sensors.org L: lm-sensors@lm-sensors.org
S: Maintained S: Maintained
F: Documentation/hwmon/smsc47b397 F: Documentation/hwmon/smsc47b397
@ -9456,7 +9474,7 @@ S: Supported
F: drivers/media/pci/solo6x10/ F: drivers/media/pci/solo6x10/
SOFTWARE RAID (Multiple Disks) SUPPORT SOFTWARE RAID (Multiple Disks) SUPPORT
M: Neil Brown <neilb@suse.de> M: Neil Brown <neilb@suse.com>
L: linux-raid@vger.kernel.org L: linux-raid@vger.kernel.org
S: Supported S: Supported
F: drivers/md/ F: drivers/md/
@ -9499,7 +9517,7 @@ F: drivers/memstick/core/ms_block.*
SOUND SOUND
M: Jaroslav Kysela <perex@perex.cz> M: Jaroslav Kysela <perex@perex.cz>
M: Takashi Iwai <tiwai@suse.de> M: Takashi Iwai <tiwai@suse.com>
L: alsa-devel@alsa-project.org (moderated for non-subscribers) L: alsa-devel@alsa-project.org (moderated for non-subscribers)
W: http://www.alsa-project.org/ W: http://www.alsa-project.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
@ -9583,7 +9601,7 @@ S: Maintained
F: include/linux/compiler.h F: include/linux/compiler.h
SPEAR PLATFORM SUPPORT SPEAR PLATFORM SUPPORT
M: Viresh Kumar <viresh.linux@gmail.com> M: Viresh Kumar <vireshk@kernel.org>
M: Shiraz Hashim <shiraz.linux.kernel@gmail.com> M: Shiraz Hashim <shiraz.linux.kernel@gmail.com>
L: spear-devel@list.st.com L: spear-devel@list.st.com
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@ -9592,7 +9610,7 @@ S: Maintained
F: arch/arm/mach-spear/ F: arch/arm/mach-spear/
SPEAR CLOCK FRAMEWORK SUPPORT SPEAR CLOCK FRAMEWORK SUPPORT
M: Viresh Kumar <viresh.linux@gmail.com> M: Viresh Kumar <vireshk@kernel.org>
L: spear-devel@list.st.com L: spear-devel@list.st.com
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
W: http://www.st.com/spear W: http://www.st.com/spear
@ -10382,7 +10400,7 @@ K: ^Subject:.*(?i)trivial
TTY LAYER TTY LAYER
M: Greg Kroah-Hartman <gregkh@linuxfoundation.org> M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
M: Jiri Slaby <jslaby@suse.cz> M: Jiri Slaby <jslaby@suse.com>
S: Supported S: Supported
T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
F: Documentation/serial/ F: Documentation/serial/
@ -10456,7 +10474,7 @@ F: arch/m68k/*/*_no.*
F: arch/m68k/include/asm/*_no.* F: arch/m68k/include/asm/*_no.*
UDF FILESYSTEM UDF FILESYSTEM
M: Jan Kara <jack@suse.cz> M: Jan Kara <jack@suse.com>
S: Maintained S: Maintained
F: Documentation/filesystems/udf.txt F: Documentation/filesystems/udf.txt
F: fs/udf/ F: fs/udf/
@ -10599,7 +10617,7 @@ F: drivers/usb/gadget/
F: include/linux/usb/gadget* F: include/linux/usb/gadget*
USB HID/HIDBP DRIVERS (USB KEYBOARDS, MICE, REMOTE CONTROLS, ...) USB HID/HIDBP DRIVERS (USB KEYBOARDS, MICE, REMOTE CONTROLS, ...)
M: Jiri Kosina <jkosina@suse.cz> M: Jiri Kosina <jkosina@suse.com>
L: linux-usb@vger.kernel.org L: linux-usb@vger.kernel.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
S: Maintained S: Maintained
@ -10724,7 +10742,7 @@ S: Maintained
F: drivers/usb/host/uhci* F: drivers/usb/host/uhci*
USB "USBNET" DRIVER FRAMEWORK USB "USBNET" DRIVER FRAMEWORK
M: Oliver Neukum <oneukum@suse.de> M: Oliver Neukum <oneukum@suse.com>
L: netdev@vger.kernel.org L: netdev@vger.kernel.org
W: http://www.linux-usb.org/usbnet W: http://www.linux-usb.org/usbnet
S: Maintained S: Maintained
@ -11051,7 +11069,7 @@ F: Documentation/hwmon/w83793
F: drivers/hwmon/w83793.c F: drivers/hwmon/w83793.c
W83795 HARDWARE MONITORING DRIVER W83795 HARDWARE MONITORING DRIVER
M: Jean Delvare <jdelvare@suse.de> M: Jean Delvare <jdelvare@suse.com>
L: lm-sensors@lm-sensors.org L: lm-sensors@lm-sensors.org
S: Maintained S: Maintained
F: drivers/hwmon/w83795.c F: drivers/hwmon/w83795.c

View File

@ -1,7 +1,7 @@
VERSION = 4 VERSION = 4
PATCHLEVEL = 2 PATCHLEVEL = 2
SUBLEVEL = 0 SUBLEVEL = 0
EXTRAVERSION = -rc1 EXTRAVERSION = -rc3
NAME = Hurr durr I'ma sheep NAME = Hurr durr I'ma sheep
# *DOCUMENTATION* # *DOCUMENTATION*
@ -780,10 +780,11 @@ endif
include scripts/Makefile.kasan include scripts/Makefile.kasan
include scripts/Makefile.extrawarn include scripts/Makefile.extrawarn
# Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments # Add any arch overrides and user supplied CPPFLAGS, AFLAGS and CFLAGS as the
KBUILD_CPPFLAGS += $(KCPPFLAGS) # last assignments
KBUILD_AFLAGS += $(KAFLAGS) KBUILD_CPPFLAGS += $(ARCH_CPPFLAGS) $(KCPPFLAGS)
KBUILD_CFLAGS += $(KCFLAGS) KBUILD_AFLAGS += $(ARCH_AFLAGS) $(KAFLAGS)
KBUILD_CFLAGS += $(ARCH_CFLAGS) $(KCFLAGS)
# Use --build-id when available. # Use --build-id when available.
LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\ LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\

View File

@ -221,6 +221,10 @@ config ARCH_TASK_STRUCT_ALLOCATOR
config ARCH_THREAD_INFO_ALLOCATOR config ARCH_THREAD_INFO_ALLOCATOR
bool bool
# Select if arch wants to size task_struct dynamically via arch_task_struct_size:
config ARCH_WANTS_DYNAMIC_TASK_STRUCT
bool
config HAVE_REGS_AND_STACK_ACCESS_API config HAVE_REGS_AND_STACK_ACCESS_API
bool bool
help help

View File

@ -5,6 +5,7 @@ generic-y += cputime.h
generic-y += exec.h generic-y += exec.h
generic-y += irq_work.h generic-y += irq_work.h
generic-y += mcs_spinlock.h generic-y += mcs_spinlock.h
generic-y += mm-arch-hooks.h
generic-y += preempt.h generic-y += preempt.h
generic-y += sections.h generic-y += sections.h
generic-y += trace_clock.h generic-y += trace_clock.h

View File

@ -1,15 +0,0 @@
/*
* Architecture specific mm hooks
*
* Copyright (C) 2015, IBM Corporation
* Author: Laurent Dufour <ldufour@linux.vnet.ibm.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef _ASM_ALPHA_MM_ARCH_HOOKS_H
#define _ASM_ALPHA_MM_ARCH_HOOKS_H
#endif /* _ASM_ALPHA_MM_ARCH_HOOKS_H */

View File

@ -115,6 +115,7 @@ if ISA_ARCOMPACT
config ARC_CPU_750D config ARC_CPU_750D
bool "ARC750D" bool "ARC750D"
select ARC_CANT_LLSC
help help
Support for ARC750 core Support for ARC750 core
@ -362,7 +363,7 @@ config ARC_CANT_LLSC
config ARC_HAS_LLSC config ARC_HAS_LLSC
bool "Insn: LLOCK/SCOND (efficient atomic ops)" bool "Insn: LLOCK/SCOND (efficient atomic ops)"
default y default y
depends on !ARC_CPU_750D && !ARC_CANT_LLSC depends on !ARC_CANT_LLSC
config ARC_HAS_SWAPE config ARC_HAS_SWAPE
bool "Insn: SWAPE (endian-swap)" bool "Insn: SWAPE (endian-swap)"

View File

@ -49,7 +49,8 @@ endif
ifndef CONFIG_CC_OPTIMIZE_FOR_SIZE ifndef CONFIG_CC_OPTIMIZE_FOR_SIZE
# Generic build system uses -O2, we want -O3 # Generic build system uses -O2, we want -O3
cflags-y += -O3 # Note: No need to add to cflags-y as that happens anyways
ARCH_CFLAGS += -O3
endif endif
# small data is default for elf32 tool-chain. If not usable, disable it # small data is default for elf32 tool-chain. If not usable, disable it

View File

@ -12,7 +12,7 @@
/ { / {
compatible = "snps,arc"; compatible = "snps,arc";
clock-frequency = <75000000>; clock-frequency = <90000000>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;

View File

@ -12,7 +12,7 @@
/ { / {
compatible = "snps,arc"; compatible = "snps,arc";
clock-frequency = <75000000>; clock-frequency = <90000000>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;

View File

@ -22,6 +22,7 @@ generic-y += kvm_para.h
generic-y += local.h generic-y += local.h
generic-y += local64.h generic-y += local64.h
generic-y += mcs_spinlock.h generic-y += mcs_spinlock.h
generic-y += mm-arch-hooks.h
generic-y += mman.h generic-y += mman.h
generic-y += msgbuf.h generic-y += msgbuf.h
generic-y += param.h generic-y += param.h

View File

@ -50,8 +50,7 @@ static inline void op##_bit(unsigned long nr, volatile unsigned long *m)\
* done for const @nr, but no code is generated due to gcc \ * done for const @nr, but no code is generated due to gcc \
* const prop. \ * const prop. \
*/ \ */ \
if (__builtin_constant_p(nr)) \ nr &= 0x1f; \
nr &= 0x1f; \
\ \
__asm__ __volatile__( \ __asm__ __volatile__( \
"1: llock %0, [%1] \n" \ "1: llock %0, [%1] \n" \
@ -82,8 +81,7 @@ static inline int test_and_##op##_bit(unsigned long nr, volatile unsigned long *
\ \
m += nr >> 5; \ m += nr >> 5; \
\ \
if (__builtin_constant_p(nr)) \ nr &= 0x1f; \
nr &= 0x1f; \
\ \
/* \ /* \
* Explicit full memory barrier needed before/after as \ * Explicit full memory barrier needed before/after as \
@ -129,16 +127,13 @@ static inline void op##_bit(unsigned long nr, volatile unsigned long *m)\
unsigned long temp, flags; \ unsigned long temp, flags; \
m += nr >> 5; \ m += nr >> 5; \
\ \
if (__builtin_constant_p(nr)) \
nr &= 0x1f; \
\
/* \ /* \
* spin lock/unlock provide the needed smp_mb() before/after \ * spin lock/unlock provide the needed smp_mb() before/after \
*/ \ */ \
bitops_lock(flags); \ bitops_lock(flags); \
\ \
temp = *m; \ temp = *m; \
*m = temp c_op (1UL << nr); \ *m = temp c_op (1UL << (nr & 0x1f)); \
\ \
bitops_unlock(flags); \ bitops_unlock(flags); \
} }
@ -149,17 +144,14 @@ static inline int test_and_##op##_bit(unsigned long nr, volatile unsigned long *
unsigned long old, flags; \ unsigned long old, flags; \
m += nr >> 5; \ m += nr >> 5; \
\ \
if (__builtin_constant_p(nr)) \
nr &= 0x1f; \
\
bitops_lock(flags); \ bitops_lock(flags); \
\ \
old = *m; \ old = *m; \
*m = old c_op (1 << nr); \ *m = old c_op (1UL << (nr & 0x1f)); \
\ \
bitops_unlock(flags); \ bitops_unlock(flags); \
\ \
return (old & (1 << nr)) != 0; \ return (old & (1UL << (nr & 0x1f))) != 0; \
} }
#endif /* CONFIG_ARC_HAS_LLSC */ #endif /* CONFIG_ARC_HAS_LLSC */
@ -174,11 +166,8 @@ static inline void __##op##_bit(unsigned long nr, volatile unsigned long *m) \
unsigned long temp; \ unsigned long temp; \
m += nr >> 5; \ m += nr >> 5; \
\ \
if (__builtin_constant_p(nr)) \
nr &= 0x1f; \
\
temp = *m; \ temp = *m; \
*m = temp c_op (1UL << nr); \ *m = temp c_op (1UL << (nr & 0x1f)); \
} }
#define __TEST_N_BIT_OP(op, c_op, asm_op) \ #define __TEST_N_BIT_OP(op, c_op, asm_op) \
@ -187,13 +176,10 @@ static inline int __test_and_##op##_bit(unsigned long nr, volatile unsigned long
unsigned long old; \ unsigned long old; \
m += nr >> 5; \ m += nr >> 5; \
\ \
if (__builtin_constant_p(nr)) \
nr &= 0x1f; \
\
old = *m; \ old = *m; \
*m = old c_op (1 << nr); \ *m = old c_op (1UL << (nr & 0x1f)); \
\ \
return (old & (1 << nr)) != 0; \ return (old & (1UL << (nr & 0x1f))) != 0; \
} }
#define BIT_OPS(op, c_op, asm_op) \ #define BIT_OPS(op, c_op, asm_op) \
@ -224,10 +210,7 @@ test_bit(unsigned int nr, const volatile unsigned long *addr)
addr += nr >> 5; addr += nr >> 5;
if (__builtin_constant_p(nr)) mask = 1UL << (nr & 0x1f);
nr &= 0x1f;
mask = 1 << nr;
return ((mask & *addr) != 0); return ((mask & *addr) != 0);
} }

View File

@ -16,12 +16,15 @@
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <asm/errno.h> #include <asm/errno.h>
#ifdef CONFIG_ARC_HAS_LLSC
#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg)\ #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg)\
\ \
__asm__ __volatile__( \ __asm__ __volatile__( \
"1: ld %1, [%2] \n" \ "1: llock %1, [%2] \n" \
insn "\n" \ insn "\n" \
"2: st %0, [%2] \n" \ "2: scond %0, [%2] \n" \
" bnz 1b \n" \
" mov %0, 0 \n" \ " mov %0, 0 \n" \
"3: \n" \ "3: \n" \
" .section .fixup,\"ax\" \n" \ " .section .fixup,\"ax\" \n" \
@ -39,6 +42,33 @@
: "r" (uaddr), "r" (oparg), "ir" (-EFAULT) \ : "r" (uaddr), "r" (oparg), "ir" (-EFAULT) \
: "cc", "memory") : "cc", "memory")
#else /* !CONFIG_ARC_HAS_LLSC */
#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg)\
\
__asm__ __volatile__( \
"1: ld %1, [%2] \n" \
insn "\n" \
"2: st %0, [%2] \n" \
" mov %0, 0 \n" \
"3: \n" \
" .section .fixup,\"ax\" \n" \
" .align 4 \n" \
"4: mov %0, %4 \n" \
" b 3b \n" \
" .previous \n" \
" .section __ex_table,\"a\" \n" \
" .align 4 \n" \
" .word 1b, 4b \n" \
" .word 2b, 4b \n" \
" .previous \n" \
\
: "=&r" (ret), "=&r" (oldval) \
: "r" (uaddr), "r" (oparg), "ir" (-EFAULT) \
: "cc", "memory")
#endif
static inline int futex_atomic_op_inuser(int encoded_op, u32 __user *uaddr) static inline int futex_atomic_op_inuser(int encoded_op, u32 __user *uaddr)
{ {
int op = (encoded_op >> 28) & 7; int op = (encoded_op >> 28) & 7;
@ -123,11 +153,17 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, u32 oldval,
pagefault_disable(); pagefault_disable();
/* TBD : can use llock/scond */
__asm__ __volatile__( __asm__ __volatile__(
"1: ld %0, [%3] \n" #ifdef CONFIG_ARC_HAS_LLSC
" brne %0, %1, 3f \n" "1: llock %0, [%3] \n"
"2: st %2, [%3] \n" " brne %0, %1, 3f \n"
"2: scond %2, [%3] \n"
" bnz 1b \n"
#else
"1: ld %0, [%3] \n"
" brne %0, %1, 3f \n"
"2: st %2, [%3] \n"
#endif
"3: \n" "3: \n"
" .section .fixup,\"ax\" \n" " .section .fixup,\"ax\" \n"
"4: mov %0, %4 \n" "4: mov %0, %4 \n"

View File

@ -1,15 +0,0 @@
/*
* Architecture specific mm hooks
*
* Copyright (C) 2015, IBM Corporation
* Author: Laurent Dufour <ldufour@linux.vnet.ibm.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef _ASM_ARC_MM_ARCH_HOOKS_H
#define _ASM_ARC_MM_ARCH_HOOKS_H
#endif /* _ASM_ARC_MM_ARCH_HOOKS_H */

View File

@ -106,7 +106,7 @@ struct callee_regs {
long r25, r24, r23, r22, r21, r20, r19, r18, r17, r16, r15, r14, r13; long r25, r24, r23, r22, r21, r20, r19, r18, r17, r16, r15, r14, r13;
}; };
#define instruction_pointer(regs) ((regs)->ret) #define instruction_pointer(regs) (unsigned long)((regs)->ret)
#define profile_pc(regs) instruction_pointer(regs) #define profile_pc(regs) instruction_pointer(regs)
/* return 1 if user mode or 0 if kernel mode */ /* return 1 if user mode or 0 if kernel mode */

View File

@ -12,7 +12,6 @@
#include <linux/of.h> #include <linux/of.h>
#include <linux/irqdomain.h> #include <linux/irqdomain.h>
#include <linux/irqchip.h> #include <linux/irqchip.h>
#include "../../drivers/irqchip/irqchip.h"
#include <asm/irq.h> #include <asm/irq.h>
/* /*

View File

@ -12,7 +12,6 @@
#include <linux/of.h> #include <linux/of.h>
#include <linux/irqdomain.h> #include <linux/irqdomain.h>
#include <linux/irqchip.h> #include <linux/irqchip.h>
#include "../../drivers/irqchip/irqchip.h"
#include <asm/irq.h> #include <asm/irq.h>
/* /*

View File

@ -175,7 +175,6 @@ void mcip_init_early_smp(void)
#include <linux/irqchip.h> #include <linux/irqchip.h>
#include <linux/of.h> #include <linux/of.h>
#include <linux/of_irq.h> #include <linux/of_irq.h>
#include "../../drivers/irqchip/irqchip.h"
/* /*
* Set the DEST for @cmn_irq to @cpu_mask (1 bit per core) * Set the DEST for @cmn_irq to @cpu_mask (1 bit per core)
@ -218,11 +217,28 @@ static void idu_irq_unmask(struct irq_data *data)
raw_spin_unlock_irqrestore(&mcip_lock, flags); raw_spin_unlock_irqrestore(&mcip_lock, flags);
} }
#ifdef CONFIG_SMP
static int static int
idu_irq_set_affinity(struct irq_data *d, const struct cpumask *cpumask, bool f) idu_irq_set_affinity(struct irq_data *data, const struct cpumask *cpumask,
bool force)
{ {
unsigned long flags;
cpumask_t online;
/* errout if no online cpu per @cpumask */
if (!cpumask_and(&online, cpumask, cpu_online_mask))
return -EINVAL;
raw_spin_lock_irqsave(&mcip_lock, flags);
idu_set_dest(data->hwirq, cpumask_bits(&online)[0]);
idu_set_mode(data->hwirq, IDU_M_TRIG_LEVEL, IDU_M_DISTRI_RR);
raw_spin_unlock_irqrestore(&mcip_lock, flags);
return IRQ_SET_MASK_OK; return IRQ_SET_MASK_OK;
} }
#endif
static struct irq_chip idu_irq_chip = { static struct irq_chip idu_irq_chip = {
.name = "MCIP IDU Intc", .name = "MCIP IDU Intc",
@ -330,8 +346,7 @@ idu_of_init(struct device_node *intc, struct device_node *parent)
if (!i) if (!i)
idu_first_irq = irq; idu_first_irq = irq;
irq_set_handler_data(irq, domain); irq_set_chained_handler_and_data(irq, idu_cascade_isr, domain);
irq_set_chained_handler(irq, idu_cascade_isr);
} }
__mcip_cmd(CMD_IDU_ENABLE, 0); __mcip_cmd(CMD_IDU_ENABLE, 0);

View File

@ -142,17 +142,22 @@ static void read_arc_build_cfg_regs(void)
} }
static const struct cpuinfo_data arc_cpu_tbl[] = { static const struct cpuinfo_data arc_cpu_tbl[] = {
#ifdef CONFIG_ISA_ARCOMPACT
{ {0x20, "ARC 600" }, 0x2F}, { {0x20, "ARC 600" }, 0x2F},
{ {0x30, "ARC 700" }, 0x33}, { {0x30, "ARC 700" }, 0x33},
{ {0x34, "ARC 700 R4.10"}, 0x34}, { {0x34, "ARC 700 R4.10"}, 0x34},
{ {0x35, "ARC 700 R4.11"}, 0x35}, { {0x35, "ARC 700 R4.11"}, 0x35},
{ {0x50, "ARC HS38" }, 0x51}, #else
{ {0x50, "ARC HS38 R2.0"}, 0x51},
{ {0x52, "ARC HS38 R2.1"}, 0x52},
#endif
{ {0x00, NULL } } { {0x00, NULL } }
}; };
#define IS_AVAIL1(v, str) ((v) ? str : "") #define IS_AVAIL1(v, s) ((v) ? s : "")
#define IS_USED(cfg) (IS_ENABLED(cfg) ? "" : "(not used) ") #define IS_USED_RUN(v) ((v) ? "" : "(not used) ")
#define IS_AVAIL2(v, str, cfg) IS_AVAIL1(v, str), IS_AVAIL1(v, IS_USED(cfg)) #define IS_USED_CFG(cfg) IS_USED_RUN(IS_ENABLED(cfg))
#define IS_AVAIL2(v, s, cfg) IS_AVAIL1(v, s), IS_AVAIL1(v, IS_USED_CFG(cfg))
static char *arc_cpu_mumbojumbo(int cpu_id, char *buf, int len) static char *arc_cpu_mumbojumbo(int cpu_id, char *buf, int len)
{ {
@ -226,7 +231,7 @@ static char *arc_cpu_mumbojumbo(int cpu_id, char *buf, int len)
n += scnprintf(buf + n, len - n, "mpy[opt %d] ", opt); n += scnprintf(buf + n, len - n, "mpy[opt %d] ", opt);
} }
n += scnprintf(buf + n, len - n, "%s", n += scnprintf(buf + n, len - n, "%s",
IS_USED(CONFIG_ARC_HAS_HW_MPY)); IS_USED_CFG(CONFIG_ARC_HAS_HW_MPY));
} }
n += scnprintf(buf + n, len - n, "%s%s%s%s%s%s%s%s\n", n += scnprintf(buf + n, len - n, "%s%s%s%s%s%s%s%s\n",

View File

@ -58,7 +58,6 @@ static void show_callee_regs(struct callee_regs *cregs)
static void print_task_path_n_nm(struct task_struct *tsk, char *buf) static void print_task_path_n_nm(struct task_struct *tsk, char *buf)
{ {
struct path path;
char *path_nm = NULL; char *path_nm = NULL;
struct mm_struct *mm; struct mm_struct *mm;
struct file *exe_file; struct file *exe_file;

View File

@ -468,10 +468,18 @@ static void __ic_line_inv_vaddr(unsigned long paddr, unsigned long vaddr,
noinline void slc_op(unsigned long paddr, unsigned long sz, const int op) noinline void slc_op(unsigned long paddr, unsigned long sz, const int op)
{ {
#ifdef CONFIG_ISA_ARCV2 #ifdef CONFIG_ISA_ARCV2
/*
* SLC is shared between all cores and concurrent aux operations from
* multiple cores need to be serialized using a spinlock
* A concurrent operation can be silently ignored and/or the old/new
* operation can remain incomplete forever (lockup in SLC_CTRL_BUSY loop
* below)
*/
static DEFINE_SPINLOCK(lock);
unsigned long flags; unsigned long flags;
unsigned int ctrl; unsigned int ctrl;
local_irq_save(flags); spin_lock_irqsave(&lock, flags);
/* /*
* The Region Flush operation is specified by CTRL.RGN_OP[11..9] * The Region Flush operation is specified by CTRL.RGN_OP[11..9]
@ -504,7 +512,7 @@ noinline void slc_op(unsigned long paddr, unsigned long sz, const int op)
while (read_aux_reg(ARC_REG_SLC_CTRL) & SLC_CTRL_BUSY); while (read_aux_reg(ARC_REG_SLC_CTRL) & SLC_CTRL_BUSY);
local_irq_restore(flags); spin_unlock_irqrestore(&lock, flags);
#endif #endif
} }

View File

@ -60,8 +60,8 @@ void *dma_alloc_coherent(struct device *dev, size_t size,
/* This is kernel Virtual address (0x7000_0000 based) */ /* This is kernel Virtual address (0x7000_0000 based) */
kvaddr = ioremap_nocache((unsigned long)paddr, size); kvaddr = ioremap_nocache((unsigned long)paddr, size);
if (kvaddr != NULL) if (kvaddr == NULL)
memset(kvaddr, 0, size); return NULL;
/* This is bus address, platform dependent */ /* This is bus address, platform dependent */
*dma_handle = (dma_addr_t)paddr; *dma_handle = (dma_addr_t)paddr;

View File

@ -1693,6 +1693,12 @@ config HIGHMEM
config HIGHPTE config HIGHPTE
bool "Allocate 2nd-level pagetables from highmem" bool "Allocate 2nd-level pagetables from highmem"
depends on HIGHMEM depends on HIGHMEM
help
The VM uses one page of physical memory for each page table.
For systems with a lot of processes, this can use a lot of
precious low memory, eventually leading to low memory being
consumed by page tables. Setting this option will allow
user-space 2nd level page tables to reside in high memory.
config HW_PERF_EVENTS config HW_PERF_EVENTS
bool "Enable hardware performance counter support for perf events" bool "Enable hardware performance counter support for perf events"

View File

@ -1635,7 +1635,7 @@ config PID_IN_CONTEXTIDR
config DEBUG_SET_MODULE_RONX config DEBUG_SET_MODULE_RONX
bool "Set loadable kernel module data as NX and text as RO" bool "Set loadable kernel module data as NX and text as RO"
depends on MODULES depends on MODULES && MMU
---help--- ---help---
This option helps catch unintended modifications to loadable This option helps catch unintended modifications to loadable
kernel module's text and read-only data. It also prevents execution kernel module's text and read-only data. It also prevents execution

View File

@ -80,3 +80,7 @@
status = "okay"; status = "okay";
}; };
}; };
&rtc {
system-power-controller;
};

View File

@ -74,6 +74,7 @@
audio_codec: tlv320aic3106@1b { audio_codec: tlv320aic3106@1b {
compatible = "ti,tlv320aic3106"; compatible = "ti,tlv320aic3106";
reg = <0x1b>; reg = <0x1b>;
ai3x-micbias-vg = <0x2>;
}; };
accel: lis331dlh@1d { accel: lis331dlh@1d {
@ -153,7 +154,7 @@
ti,audio-routing = ti,audio-routing =
"Headphone Jack", "HPLOUT", "Headphone Jack", "HPLOUT",
"Headphone Jack", "HPROUT", "Headphone Jack", "HPROUT",
"LINE1L", "Line In"; "MIC3L", "Mic3L Switch";
}; };
&mcasp0 { &mcasp0 {
@ -438,41 +439,50 @@
regulators { regulators {
dcdc1_reg: regulator@0 { dcdc1_reg: regulator@0 {
/* VDD_1V8 system supply */ /* VDD_1V8 system supply */
regulator-always-on;
}; };
dcdc2_reg: regulator@1 { dcdc2_reg: regulator@1 {
/* VDD_CORE voltage limits 0.95V - 1.26V with +/-4% tolerance */ /* VDD_CORE voltage limits 0.95V - 1.26V with +/-4% tolerance */
regulator-name = "vdd_core"; regulator-name = "vdd_core";
regulator-min-microvolt = <925000>; regulator-min-microvolt = <925000>;
regulator-max-microvolt = <1325000>; regulator-max-microvolt = <1150000>;
regulator-boot-on; regulator-boot-on;
regulator-always-on;
}; };
dcdc3_reg: regulator@2 { dcdc3_reg: regulator@2 {
/* VDD_MPU voltage limits 0.95V - 1.1V with +/-4% tolerance */ /* VDD_MPU voltage limits 0.95V - 1.1V with +/-4% tolerance */
regulator-name = "vdd_mpu"; regulator-name = "vdd_mpu";
regulator-min-microvolt = <925000>; regulator-min-microvolt = <925000>;
regulator-max-microvolt = <1150000>; regulator-max-microvolt = <1325000>;
regulator-boot-on; regulator-boot-on;
regulator-always-on;
}; };
ldo1_reg: regulator@3 { ldo1_reg: regulator@3 {
/* VRTC 1.8V always-on supply */ /* VRTC 1.8V always-on supply */
regulator-name = "vrtc,vdds";
regulator-always-on; regulator-always-on;
}; };
ldo2_reg: regulator@4 { ldo2_reg: regulator@4 {
/* 3.3V rail */ /* 3.3V rail */
regulator-name = "vdd_3v3aux";
regulator-always-on;
}; };
ldo3_reg: regulator@5 { ldo3_reg: regulator@5 {
/* VDD_3V3A 3.3V rail */ /* VDD_3V3A 3.3V rail */
regulator-name = "vdd_3v3a";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
}; };
ldo4_reg: regulator@6 { ldo4_reg: regulator@6 {
/* VDD_3V3B 3.3V rail */ /* VDD_3V3B 3.3V rail */
regulator-name = "vdd_3v3b";
regulator-always-on;
}; };
}; };
}; };

View File

@ -132,6 +132,12 @@
}; };
}; };
emif: emif@4c000000 {
compatible = "ti,emif-am4372";
reg = <0x4c000000 0x1000000>;
ti,hwmods = "emif";
};
edma: edma@49000000 { edma: edma@49000000 {
compatible = "ti,edma3"; compatible = "ti,edma3";
ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2"; ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
@ -941,6 +947,7 @@
ti,hwmods = "dss_rfbi"; ti,hwmods = "dss_rfbi";
clocks = <&disp_clk>; clocks = <&disp_clk>;
clock-names = "fck"; clock-names = "fck";
status = "disabled";
}; };
}; };

View File

@ -605,6 +605,10 @@
phy-supply = <&ldousb_reg>; phy-supply = <&ldousb_reg>;
}; };
&usb2_phy2 {
phy-supply = <&ldousb_reg>;
};
&usb1 { &usb1 {
dr_mode = "host"; dr_mode = "host";
pinctrl-names = "default"; pinctrl-names = "default";

File diff suppressed because it is too large Load Diff

View File

@ -22,6 +22,7 @@
MATRIX_KEY(0x00, 0x02, KEY_F1) MATRIX_KEY(0x00, 0x02, KEY_F1)
MATRIX_KEY(0x00, 0x03, KEY_B) MATRIX_KEY(0x00, 0x03, KEY_B)
MATRIX_KEY(0x00, 0x04, KEY_F10) MATRIX_KEY(0x00, 0x04, KEY_F10)
MATRIX_KEY(0x00, 0x05, KEY_RO)
MATRIX_KEY(0x00, 0x06, KEY_N) MATRIX_KEY(0x00, 0x06, KEY_N)
MATRIX_KEY(0x00, 0x08, KEY_EQUAL) MATRIX_KEY(0x00, 0x08, KEY_EQUAL)
MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT) MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT)
@ -34,6 +35,7 @@
MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE) MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE)
MATRIX_KEY(0x01, 0x09, KEY_F9) MATRIX_KEY(0x01, 0x09, KEY_F9)
MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE) MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE)
MATRIX_KEY(0x01, 0x0c, KEY_HENKAN)
MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL) MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL)
MATRIX_KEY(0x02, 0x01, KEY_TAB) MATRIX_KEY(0x02, 0x01, KEY_TAB)
@ -45,6 +47,7 @@
MATRIX_KEY(0x02, 0x07, KEY_102ND) MATRIX_KEY(0x02, 0x07, KEY_102ND)
MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE) MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE)
MATRIX_KEY(0x02, 0x09, KEY_F8) MATRIX_KEY(0x02, 0x09, KEY_F8)
MATRIX_KEY(0x02, 0x0a, KEY_YEN)
MATRIX_KEY(0x03, 0x01, KEY_GRAVE) MATRIX_KEY(0x03, 0x01, KEY_GRAVE)
MATRIX_KEY(0x03, 0x02, KEY_F2) MATRIX_KEY(0x03, 0x02, KEY_F2)
@ -53,6 +56,7 @@
MATRIX_KEY(0x03, 0x06, KEY_6) MATRIX_KEY(0x03, 0x06, KEY_6)
MATRIX_KEY(0x03, 0x08, KEY_MINUS) MATRIX_KEY(0x03, 0x08, KEY_MINUS)
MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH) MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH)
MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN)
MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL) MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
MATRIX_KEY(0x04, 0x01, KEY_A) MATRIX_KEY(0x04, 0x01, KEY_A)

View File

@ -686,7 +686,8 @@
&dcan1 { &dcan1 {
status = "ok"; status = "ok";
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep", "active";
pinctrl-0 = <&dcan1_pins_default>; pinctrl-0 = <&dcan1_pins_sleep>;
pinctrl-1 = <&dcan1_pins_sleep>; pinctrl-1 = <&dcan1_pins_sleep>;
pinctrl-2 = <&dcan1_pins_default>;
}; };

View File

@ -587,9 +587,10 @@
&dcan1 { &dcan1 {
status = "ok"; status = "ok";
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep", "active";
pinctrl-0 = <&dcan1_pins_default>; pinctrl-0 = <&dcan1_pins_sleep>;
pinctrl-1 = <&dcan1_pins_sleep>; pinctrl-1 = <&dcan1_pins_sleep>;
pinctrl-2 = <&dcan1_pins_default>;
}; };
&qspi { &qspi {

View File

@ -468,6 +468,7 @@
interrupts = <36 37 38 39 40 41 42 43 44>; interrupts = <36 37 38 39 40 41 42 43 44>;
status = "disabled"; status = "disabled";
clocks = <&clks 26>; clocks = <&clks 26>;
#io-channel-cells = <1>;
}; };
spdif@80054000 { spdif@80054000 {

View File

@ -108,7 +108,7 @@
}; };
gpt1: timer@10003000 { gpt1: timer@10003000 {
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
reg = <0x10003000 0x1000>; reg = <0x10003000 0x1000>;
interrupts = <26>; interrupts = <26>;
clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>, clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
@ -117,7 +117,7 @@
}; };
gpt2: timer@10004000 { gpt2: timer@10004000 {
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
reg = <0x10004000 0x1000>; reg = <0x10004000 0x1000>;
interrupts = <25>; interrupts = <25>;
clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>, clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>,
@ -126,7 +126,7 @@
}; };
gpt3: timer@10005000 { gpt3: timer@10005000 {
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
reg = <0x10005000 0x1000>; reg = <0x10005000 0x1000>;
interrupts = <24>; interrupts = <24>;
clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>, clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>,
@ -376,7 +376,7 @@
}; };
gpt4: timer@10019000 { gpt4: timer@10019000 {
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
reg = <0x10019000 0x1000>; reg = <0x10019000 0x1000>;
interrupts = <4>; interrupts = <4>;
clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>, clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>,
@ -385,7 +385,7 @@
}; };
gpt5: timer@1001a000 { gpt5: timer@1001a000 {
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
reg = <0x1001a000 0x1000>; reg = <0x1001a000 0x1000>;
interrupts = <3>; interrupts = <3>;
clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>, clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>,
@ -436,7 +436,7 @@
}; };
gpt6: timer@1001f000 { gpt6: timer@1001f000 {
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
reg = <0x1001f000 0x1000>; reg = <0x1001f000 0x1000>;
interrupts = <2>; interrupts = <2>;
clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>, clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>,

View File

@ -295,9 +295,10 @@
&tve { &tve {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_vga_sync>; pinctrl-0 = <&pinctrl_vga_sync>;
ddc-i2c-bus = <&i2c2>;
fsl,tve-mode = "vga"; fsl,tve-mode = "vga";
fsl,hsync-pin = <4>; fsl,hsync-pin = <7>; /* IPU DI1 PIN7 via EIM_OE */
fsl,vsync-pin = <6>; fsl,vsync-pin = <8>; /* IPU DI1 PIN8 via EIM_RW */
status = "okay"; status = "okay";
}; };

View File

@ -86,7 +86,7 @@
gpio,syscon-dev = <&devctrl 0x240>; gpio,syscon-dev = <&devctrl 0x240>;
}; };
pcie@21020000 { pcie1: pcie@21020000 {
compatible = "ti,keystone-pcie","snps,dw-pcie"; compatible = "ti,keystone-pcie","snps,dw-pcie";
clocks = <&clkpcie1>; clocks = <&clkpcie1>;
clock-names = "pcie"; clock-names = "pcie";
@ -96,6 +96,7 @@
ranges = <0x81000000 0 0 0x23260000 0x4000 0x4000 ranges = <0x81000000 0 0 0x23260000 0x4000 0x4000
0x82000000 0 0x60000000 0x60000000 0 0x10000000>; 0x82000000 0 0x60000000 0x60000000 0 0x10000000>;
status = "disabled";
device_type = "pci"; device_type = "pci";
num-lanes = <2>; num-lanes = <2>;

View File

@ -286,7 +286,7 @@
ti,syscon-dev = <&devctrl 0x2a0>; ti,syscon-dev = <&devctrl 0x2a0>;
}; };
pcie@21800000 { pcie0: pcie@21800000 {
compatible = "ti,keystone-pcie", "snps,dw-pcie"; compatible = "ti,keystone-pcie", "snps,dw-pcie";
clocks = <&clkpcie>; clocks = <&clkpcie>;
clock-names = "pcie"; clock-names = "pcie";
@ -296,6 +296,7 @@
ranges = <0x81000000 0 0 0x23250000 0 0x4000 ranges = <0x81000000 0 0 0x23250000 0 0x4000
0x82000000 0 0x50000000 0x50000000 0 0x10000000>; 0x82000000 0 0x50000000 0x50000000 0 0x10000000>;
status = "disabled";
device_type = "pci"; device_type = "pci";
num-lanes = <2>; num-lanes = <2>;

View File

@ -120,7 +120,7 @@
lcd0: display@0 { lcd0: display@0 {
compatible = "lgphilips,lb035q02"; compatible = "lgphilips,lb035q02";
label = "lcd"; label = "lcd35";
reg = <1>; /* CS1 */ reg = <1>; /* CS1 */
spi-max-frequency = <10000000>; spi-max-frequency = <10000000>;

View File

@ -98,7 +98,7 @@
lcd0: display@0 { lcd0: display@0 {
compatible = "samsung,lte430wq-f0c", "panel-dpi"; compatible = "samsung,lte430wq-f0c", "panel-dpi";
label = "lcd"; label = "lcd43";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&lte430_pins>; pinctrl-0 = <&lte430_pins>;

View File

@ -551,6 +551,7 @@
reg = <0x4a066000 0x100>; reg = <0x4a066000 0x100>;
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
ti,hwmods = "mmu_dsp"; ti,hwmods = "mmu_dsp";
#iommu-cells = <0>;
}; };
mmu_ipu: mmu@55082000 { mmu_ipu: mmu@55082000 {
@ -558,6 +559,7 @@
reg = <0x55082000 0x100>; reg = <0x55082000 0x100>;
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
ti,hwmods = "mmu_ipu"; ti,hwmods = "mmu_ipu";
#iommu-cells = <0>;
ti,iommu-bus-err-back; ti,iommu-bus-err-back;
}; };

View File

@ -612,6 +612,7 @@
reg = <0x4a066000 0x100>; reg = <0x4a066000 0x100>;
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
ti,hwmods = "mmu_dsp"; ti,hwmods = "mmu_dsp";
#iommu-cells = <0>;
}; };
mmu_ipu: mmu@55082000 { mmu_ipu: mmu@55082000 {
@ -619,6 +620,7 @@
reg = <0x55082000 0x100>; reg = <0x55082000 0x100>;
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
ti,hwmods = "mmu_ipu"; ti,hwmods = "mmu_ipu";
#iommu-cells = <0>;
ti,iommu-bus-err-back; ti,iommu-bus-err-back;
}; };

View File

@ -60,6 +60,22 @@
rxc-skew-ps = <2000>; rxc-skew-ps = <2000>;
}; };
&gpio2 {
status = "okay";
};
&i2c1 {
status = "okay";
accel1: accelerometer@53 {
compatible = "adi,adxl345";
reg = <0x53>;
interrupt-parent = <&portc>;
interrupts = <3 2>;
};
};
&mmc0 { &mmc0 {
vmmc-supply = <&regulator_3_3v>; vmmc-supply = <&regulator_3_3v>;
vqmmc-supply = <&regulator_3_3v>; vqmmc-supply = <&regulator_3_3v>;
@ -68,19 +84,3 @@
&usb1 { &usb1 {
status = "okay"; status = "okay";
}; };
&gpio2 {
status = "okay";
};
&i2c1{
status = "okay";
accel1: accel1@53{
compatible = "adxl34x";
reg = <0x53>;
interrupt-parent = < &portc >;
interrupts = <3 2>;
};
};

View File

@ -1,7 +1,7 @@
/* /*
* DTS file for SPEAr1310 Evaluation Baord * DTS file for SPEAr1310 Evaluation Baord
* *
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com> * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
* *
* The code contained herein is licensed under the GNU General Public * The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License * License. You may obtain a copy of the GNU General Public License

View File

@ -1,7 +1,7 @@
/* /*
* DTS file for all SPEAr1310 SoCs * DTS file for all SPEAr1310 SoCs
* *
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com> * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
* *
* The code contained herein is licensed under the GNU General Public * The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License * License. You may obtain a copy of the GNU General Public License

View File

@ -1,7 +1,7 @@
/* /*
* DTS file for SPEAr1340 Evaluation Baord * DTS file for SPEAr1340 Evaluation Baord
* *
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com> * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
* *
* The code contained herein is licensed under the GNU General Public * The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License * License. You may obtain a copy of the GNU General Public License

View File

@ -1,7 +1,7 @@
/* /*
* DTS file for all SPEAr1340 SoCs * DTS file for all SPEAr1340 SoCs
* *
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com> * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
* *
* The code contained herein is licensed under the GNU General Public * The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License * License. You may obtain a copy of the GNU General Public License

View File

@ -1,7 +1,7 @@
/* /*
* DTS file for all SPEAr13xx SoCs * DTS file for all SPEAr13xx SoCs
* *
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com> * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
* *
* The code contained herein is licensed under the GNU General Public * The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License * License. You may obtain a copy of the GNU General Public License

View File

@ -1,7 +1,7 @@
/* /*
* DTS file for SPEAr300 Evaluation Baord * DTS file for SPEAr300 Evaluation Baord
* *
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com> * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
* *
* The code contained herein is licensed under the GNU General Public * The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License * License. You may obtain a copy of the GNU General Public License

View File

@ -1,7 +1,7 @@
/* /*
* DTS file for SPEAr300 SoC * DTS file for SPEAr300 SoC
* *
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com> * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
* *
* The code contained herein is licensed under the GNU General Public * The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License * License. You may obtain a copy of the GNU General Public License

View File

@ -1,7 +1,7 @@
/* /*
* DTS file for SPEAr310 Evaluation Baord * DTS file for SPEAr310 Evaluation Baord
* *
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com> * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
* *
* The code contained herein is licensed under the GNU General Public * The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License * License. You may obtain a copy of the GNU General Public License

View File

@ -1,7 +1,7 @@
/* /*
* DTS file for SPEAr310 SoC * DTS file for SPEAr310 SoC
* *
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com> * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
* *
* The code contained herein is licensed under the GNU General Public * The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License * License. You may obtain a copy of the GNU General Public License

View File

@ -1,7 +1,7 @@
/* /*
* DTS file for SPEAr320 Evaluation Baord * DTS file for SPEAr320 Evaluation Baord
* *
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com> * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
* *
* The code contained herein is licensed under the GNU General Public * The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License * License. You may obtain a copy of the GNU General Public License

View File

@ -1,7 +1,7 @@
/* /*
* DTS file for SPEAr320 SoC * DTS file for SPEAr320 SoC
* *
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com> * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
* *
* The code contained herein is licensed under the GNU General Public * The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License * License. You may obtain a copy of the GNU General Public License

View File

@ -1,7 +1,7 @@
/* /*
* DTS file for all SPEAr3xx SoCs * DTS file for all SPEAr3xx SoCs
* *
* Copyright 2012 Viresh Kumar <viresh.linux@gmail.com> * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
* *
* The code contained herein is licensed under the GNU General Public * The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License * License. You may obtain a copy of the GNU General Public License

View File

@ -17,6 +17,13 @@
model = "ST-Ericsson U8540 platform with Device Tree"; model = "ST-Ericsson U8540 platform with Device Tree";
compatible = "st-ericsson,ccu8540", "st-ericsson,u8540"; compatible = "st-ericsson,ccu8540", "st-ericsson,u8540";
/* This stablilizes the serial port enumeration */
aliases {
serial0 = &ux500_serial0;
serial1 = &ux500_serial1;
serial2 = &ux500_serial2;
};
memory@0 { memory@0 {
device_type = "memory"; device_type = "memory";
reg = <0x20000000 0x1f000000>, <0xc0000000 0x3f000000>; reg = <0x20000000 0x1f000000>, <0xc0000000 0x3f000000>;

View File

@ -16,6 +16,13 @@
model = "ST-Ericsson CCU9540 platform with Device Tree"; model = "ST-Ericsson CCU9540 platform with Device Tree";
compatible = "st-ericsson,ccu9540", "st-ericsson,u9540"; compatible = "st-ericsson,ccu9540", "st-ericsson,u9540";
/* This stablilizes the serial port enumeration */
aliases {
serial0 = &ux500_serial0;
serial1 = &ux500_serial1;
serial2 = &ux500_serial2;
};
memory { memory {
reg = <0x00000000 0x20000000>; reg = <0x00000000 0x20000000>;
}; };

View File

@ -971,7 +971,7 @@
power-domains = <&pm_domains DOMAIN_VAPE>; power-domains = <&pm_domains DOMAIN_VAPE>;
}; };
uart@80120000 { ux500_serial0: uart@80120000 {
compatible = "arm,pl011", "arm,primecell"; compatible = "arm,pl011", "arm,primecell";
reg = <0x80120000 0x1000>; reg = <0x80120000 0x1000>;
interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>; interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
@ -986,7 +986,7 @@
status = "disabled"; status = "disabled";
}; };
uart@80121000 { ux500_serial1: uart@80121000 {
compatible = "arm,pl011", "arm,primecell"; compatible = "arm,pl011", "arm,primecell";
reg = <0x80121000 0x1000>; reg = <0x80121000 0x1000>;
interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>; interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
@ -1001,7 +1001,7 @@
status = "disabled"; status = "disabled";
}; };
uart@80007000 { ux500_serial2: uart@80007000 {
compatible = "arm,pl011", "arm,primecell"; compatible = "arm,pl011", "arm,primecell";
reg = <0x80007000 0x1000>; reg = <0x80007000 0x1000>;
interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>; interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;

View File

@ -32,11 +32,11 @@
status = "okay"; status = "okay";
}; };
/* This UART is unused and thus left disabled */
uart@80121000 { uart@80121000 {
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart1_default_mode>; pinctrl-0 = <&uart1_default_mode>;
pinctrl-1 = <&uart1_sleep_mode>; pinctrl-1 = <&uart1_sleep_mode>;
status = "okay";
}; };
uart@80007000 { uart@80007000 {

View File

@ -17,6 +17,13 @@
model = "ST-Ericsson HREF (pre-v60) and ST UIB"; model = "ST-Ericsson HREF (pre-v60) and ST UIB";
compatible = "st-ericsson,mop500", "st-ericsson,u8500"; compatible = "st-ericsson,mop500", "st-ericsson,u8500";
/* This stablilizes the serial port enumeration */
aliases {
serial0 = &ux500_serial0;
serial1 = &ux500_serial1;
serial2 = &ux500_serial2;
};
soc { soc {
/* Reset line for the BU21013 touchscreen */ /* Reset line for the BU21013 touchscreen */
i2c@80110000 { i2c@80110000 {

View File

@ -16,4 +16,11 @@
/ { / {
model = "ST-Ericsson HREF (pre-v60) and TVK1281618 UIB"; model = "ST-Ericsson HREF (pre-v60) and TVK1281618 UIB";
compatible = "st-ericsson,mop500", "st-ericsson,u8500"; compatible = "st-ericsson,mop500", "st-ericsson,u8500";
/* This stablilizes the serial port enumeration */
aliases {
serial0 = &ux500_serial0;
serial1 = &ux500_serial1;
serial2 = &ux500_serial2;
};
}; };

View File

@ -23,6 +23,11 @@
}; };
soc { soc {
/* Enable UART1 on this board */
uart@80121000 {
status = "okay";
};
i2c@80004000 { i2c@80004000 {
tps61052@33 { tps61052@33 {
compatible = "tps61052"; compatible = "tps61052";

View File

@ -19,6 +19,13 @@
model = "ST-Ericsson HREF (v60+) and ST UIB"; model = "ST-Ericsson HREF (v60+) and ST UIB";
compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500"; compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
/* This stablilizes the serial port enumeration */
aliases {
serial0 = &ux500_serial0;
serial1 = &ux500_serial1;
serial2 = &ux500_serial2;
};
soc { soc {
/* Reset line for the BU21013 touchscreen */ /* Reset line for the BU21013 touchscreen */
i2c@80110000 { i2c@80110000 {

View File

@ -18,4 +18,11 @@
/ { / {
model = "ST-Ericsson HREF (v60+) and TVK1281618 UIB"; model = "ST-Ericsson HREF (v60+) and TVK1281618 UIB";
compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500"; compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
/* This stablilizes the serial port enumeration */
aliases {
serial0 = &ux500_serial0;
serial1 = &ux500_serial1;
serial2 = &ux500_serial2;
};
}; };

View File

@ -43,15 +43,26 @@
<&vaudio_hf_hrefv60_mode>, <&vaudio_hf_hrefv60_mode>,
<&gbf_hrefv60_mode>, <&gbf_hrefv60_mode>,
<&hdtv_hrefv60_mode>, <&hdtv_hrefv60_mode>,
<&touch_hrefv60_mode>; <&touch_hrefv60_mode>,
<&gpios_hrefv60_mode>;
sdi0 { sdi0 {
/* SD card detect GPIO pin, extend default state */
sdi0_default_mode: sdi0_default { sdi0_default_mode: sdi0_default {
/* SD card detect GPIO pin, extend default state */
default_hrefv60_cfg1 { default_hrefv60_cfg1 {
pins = "GPIO95_E8"; pins = "GPIO95_E8";
ste,config = <&gpio_in_pu>; ste,config = <&gpio_in_pu>;
}; };
/* VMMCI level-shifter enable */
default_hrefv60_cfg2 {
pins = "GPIO169_D22";
ste,config = <&gpio_out_lo>;
};
/* VMMCI level-shifter voltage select */
default_hrefv60_cfg3 {
pins = "GPIO5_AG6";
ste,config = <&gpio_out_hi>;
};
}; };
}; };
ipgpio { ipgpio {
@ -213,6 +224,16 @@
}; };
}; };
}; };
gpios {
/* Dangling GPIO pins */
gpios_hrefv60_mode: gpios_hrefv60 {
default_cfg1 {
/* Normally UART1 RXD, now dangling */
pins = "GPIO4_AH6";
ste,config = <&in_pu>;
};
};
};
}; };
}; };
}; };

View File

@ -18,6 +18,13 @@
model = "Calao Systems Snowball platform with device tree"; model = "Calao Systems Snowball platform with device tree";
compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500"; compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
/* This stablilizes the serial port enumeration */
aliases {
serial0 = &ux500_serial0;
serial1 = &ux500_serial1;
serial2 = &ux500_serial2;
};
memory { memory {
reg = <0x00000000 0x20000000>; reg = <0x00000000 0x20000000>;
}; };
@ -223,11 +230,11 @@
status = "okay"; status = "okay";
}; };
/* This UART is unused and thus left disabled */
uart@80121000 { uart@80121000 {
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart1_default_mode>; pinctrl-0 = <&uart1_default_mode>;
pinctrl-1 = <&uart1_sleep_mode>; pinctrl-1 = <&uart1_sleep_mode>;
status = "okay";
}; };
uart@80007000 { uart@80007000 {
@ -452,7 +459,21 @@
pins = "GPIO21_AB3"; /* DAT31DIR */ pins = "GPIO21_AB3"; /* DAT31DIR */
ste,config = <&out_hi>; ste,config = <&out_hi>;
}; };
/* SD card detect GPIO pin, extend default state */
snowball_cfg2 {
pins = "GPIO218_AH11";
ste,config = <&gpio_in_pu>;
};
/* VMMCI level-shifter enable */
snowball_cfg3 {
pins = "GPIO217_AH12";
ste,config = <&gpio_out_lo>;
};
/* VMMCI level-shifter voltage select */
snowball_cfg4 {
pins = "GPIO228_AJ6";
ste,config = <&gpio_out_hi>;
};
}; };
}; };
ssp0 { ssp0 {

View File

@ -150,6 +150,16 @@
interface-type = "ace"; interface-type = "ace";
reg = <0x5000 0x1000>; reg = <0x5000 0x1000>;
}; };
pmu@9000 {
compatible = "arm,cci-400-pmu,r0";
reg = <0x9000 0x5000>;
interrupts = <0 105 4>,
<0 101 4>,
<0 102 4>,
<0 103 4>,
<0 104 4>;
};
}; };
memory-controller@7ffd0000 { memory-controller@7ffd0000 {
@ -187,11 +197,22 @@
<1 10 0xf08>; <1 10 0xf08>;
}; };
pmu { pmu_a15 {
compatible = "arm,cortex-a15-pmu"; compatible = "arm,cortex-a15-pmu";
interrupts = <0 68 4>, interrupts = <0 68 4>,
<0 69 4>; <0 69 4>;
interrupt-affinity = <&cpu0>, <&cpu1>; interrupt-affinity = <&cpu0>,
<&cpu1>;
};
pmu_a7 {
compatible = "arm,cortex-a7-pmu";
interrupts = <0 128 4>,
<0 129 4>,
<0 130 4>;
interrupt-affinity = <&cpu2>,
<&cpu3>,
<&cpu4>;
}; };
oscclk6a: oscclk6a { oscclk6a: oscclk6a {

View File

@ -353,7 +353,6 @@ CONFIG_POWER_RESET_AS3722=y
CONFIG_POWER_RESET_GPIO=y CONFIG_POWER_RESET_GPIO=y
CONFIG_POWER_RESET_GPIO_RESTART=y CONFIG_POWER_RESET_GPIO_RESTART=y
CONFIG_POWER_RESET_KEYSTONE=y CONFIG_POWER_RESET_KEYSTONE=y
CONFIG_POWER_RESET_SUN6I=y
CONFIG_POWER_RESET_RMOBILE=y CONFIG_POWER_RESET_RMOBILE=y
CONFIG_SENSORS_LM90=y CONFIG_SENSORS_LM90=y
CONFIG_SENSORS_LM95245=y CONFIG_SENSORS_LM95245=y

View File

@ -2,6 +2,7 @@ CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y CONFIG_HIGH_RES_TIMERS=y
CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INITRD=y
CONFIG_PERF_EVENTS=y CONFIG_PERF_EVENTS=y
CONFIG_MODULES=y
CONFIG_ARCH_SUNXI=y CONFIG_ARCH_SUNXI=y
CONFIG_SMP=y CONFIG_SMP=y
CONFIG_NR_CPUS=8 CONFIG_NR_CPUS=8
@ -77,7 +78,6 @@ CONFIG_SPI_SUN6I=y
CONFIG_GPIO_SYSFS=y CONFIG_GPIO_SYSFS=y
CONFIG_POWER_SUPPLY=y CONFIG_POWER_SUPPLY=y
CONFIG_POWER_RESET=y CONFIG_POWER_RESET=y
CONFIG_POWER_RESET_SUN6I=y
CONFIG_THERMAL=y CONFIG_THERMAL=y
CONFIG_CPU_THERMAL=y CONFIG_CPU_THERMAL=y
CONFIG_WATCHDOG=y CONFIG_WATCHDOG=y
@ -87,6 +87,10 @@ CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_AXP20X=y CONFIG_REGULATOR_AXP20X=y
CONFIG_REGULATOR_GPIO=y CONFIG_REGULATOR_GPIO=y
CONFIG_FB=y
CONFIG_FB_SIMPLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_USB=y CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_HCD_PLATFORM=y CONFIG_USB_EHCI_HCD_PLATFORM=y

View File

@ -13,6 +13,7 @@ generic-y += kdebug.h
generic-y += local.h generic-y += local.h
generic-y += local64.h generic-y += local64.h
generic-y += mcs_spinlock.h generic-y += mcs_spinlock.h
generic-y += mm-arch-hooks.h
generic-y += msgbuf.h generic-y += msgbuf.h
generic-y += param.h generic-y += param.h
generic-y += parport.h generic-y += parport.h

View File

@ -140,16 +140,11 @@ static inline u32 __raw_readl(const volatile void __iomem *addr)
* The _caller variety takes a __builtin_return_address(0) value for * The _caller variety takes a __builtin_return_address(0) value for
* /proc/vmalloc to use - and should only be used in non-inline functions. * /proc/vmalloc to use - and should only be used in non-inline functions.
*/ */
extern void __iomem *__arm_ioremap_pfn_caller(unsigned long, unsigned long,
size_t, unsigned int, void *);
extern void __iomem *__arm_ioremap_caller(phys_addr_t, size_t, unsigned int, extern void __iomem *__arm_ioremap_caller(phys_addr_t, size_t, unsigned int,
void *); void *);
extern void __iomem *__arm_ioremap_pfn(unsigned long, unsigned long, size_t, unsigned int); extern void __iomem *__arm_ioremap_pfn(unsigned long, unsigned long, size_t, unsigned int);
extern void __iomem *__arm_ioremap(phys_addr_t, size_t, unsigned int);
extern void __iomem *__arm_ioremap_exec(phys_addr_t, size_t, bool cached); extern void __iomem *__arm_ioremap_exec(phys_addr_t, size_t, bool cached);
extern void __iounmap(volatile void __iomem *addr); extern void __iounmap(volatile void __iomem *addr);
extern void __arm_iounmap(volatile void __iomem *addr);
extern void __iomem * (*arch_ioremap_caller)(phys_addr_t, size_t, extern void __iomem * (*arch_ioremap_caller)(phys_addr_t, size_t,
unsigned int, void *); unsigned int, void *);
@ -321,21 +316,24 @@ extern void _memset_io(volatile void __iomem *, int, size_t);
static inline void memset_io(volatile void __iomem *dst, unsigned c, static inline void memset_io(volatile void __iomem *dst, unsigned c,
size_t count) size_t count)
{ {
memset((void __force *)dst, c, count); extern void mmioset(void *, unsigned int, size_t);
mmioset((void __force *)dst, c, count);
} }
#define memset_io(dst,c,count) memset_io(dst,c,count) #define memset_io(dst,c,count) memset_io(dst,c,count)
static inline void memcpy_fromio(void *to, const volatile void __iomem *from, static inline void memcpy_fromio(void *to, const volatile void __iomem *from,
size_t count) size_t count)
{ {
memcpy(to, (const void __force *)from, count); extern void mmiocpy(void *, const void *, size_t);
mmiocpy(to, (const void __force *)from, count);
} }
#define memcpy_fromio(to,from,count) memcpy_fromio(to,from,count) #define memcpy_fromio(to,from,count) memcpy_fromio(to,from,count)
static inline void memcpy_toio(volatile void __iomem *to, const void *from, static inline void memcpy_toio(volatile void __iomem *to, const void *from,
size_t count) size_t count)
{ {
memcpy((void __force *)to, from, count); extern void mmiocpy(void *, const void *, size_t);
mmiocpy((void __force *)to, from, count);
} }
#define memcpy_toio(to,from,count) memcpy_toio(to,from,count) #define memcpy_toio(to,from,count) memcpy_toio(to,from,count)
@ -348,18 +346,61 @@ static inline void memcpy_toio(volatile void __iomem *to, const void *from,
#endif /* readl */ #endif /* readl */
/* /*
* ioremap and friends. * ioremap() and friends.
* *
* ioremap takes a PCI memory address, as specified in * ioremap() takes a resource address, and size. Due to the ARM memory
* Documentation/io-mapping.txt. * types, it is important to use the correct ioremap() function as each
* mapping has specific properties.
* *
* Function Memory type Cacheability Cache hint
* ioremap() Device n/a n/a
* ioremap_nocache() Device n/a n/a
* ioremap_cache() Normal Writeback Read allocate
* ioremap_wc() Normal Non-cacheable n/a
* ioremap_wt() Normal Non-cacheable n/a
*
* All device mappings have the following properties:
* - no access speculation
* - no repetition (eg, on return from an exception)
* - number, order and size of accesses are maintained
* - unaligned accesses are "unpredictable"
* - writes may be delayed before they hit the endpoint device
*
* ioremap_nocache() is the same as ioremap() as there are too many device
* drivers using this for device registers, and documentation which tells
* people to use it for such for this to be any different. This is not a
* safe fallback for memory-like mappings, or memory regions where the
* compiler may generate unaligned accesses - eg, via inlining its own
* memcpy.
*
* All normal memory mappings have the following properties:
* - reads can be repeated with no side effects
* - repeated reads return the last value written
* - reads can fetch additional locations without side effects
* - writes can be repeated (in certain cases) with no side effects
* - writes can be merged before accessing the target
* - unaligned accesses can be supported
* - ordering is not guaranteed without explicit dependencies or barrier
* instructions
* - writes may be delayed before they hit the endpoint memory
*
* The cache hint is only a performance hint: CPUs may alias these hints.
* Eg, a CPU not implementing read allocate but implementing write allocate
* will provide a write allocate mapping instead.
*/ */
#define ioremap(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE) void __iomem *ioremap(resource_size_t res_cookie, size_t size);
#define ioremap_nocache(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE) #define ioremap ioremap
#define ioremap_cache(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE_CACHED) #define ioremap_nocache ioremap
#define ioremap_wc(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE_WC)
#define ioremap_wt(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE) void __iomem *ioremap_cache(resource_size_t res_cookie, size_t size);
#define iounmap __arm_iounmap #define ioremap_cache ioremap_cache
void __iomem *ioremap_wc(resource_size_t res_cookie, size_t size);
#define ioremap_wc ioremap_wc
#define ioremap_wt ioremap_wc
void iounmap(volatile void __iomem *iomem_cookie);
#define iounmap iounmap
/* /*
* io{read,write}{16,32}be() macros * io{read,write}{16,32}be() macros

View File

@ -275,7 +275,7 @@ static inline void *phys_to_virt(phys_addr_t x)
*/ */
#define __pa(x) __virt_to_phys((unsigned long)(x)) #define __pa(x) __virt_to_phys((unsigned long)(x))
#define __va(x) ((void *)__phys_to_virt((phys_addr_t)(x))) #define __va(x) ((void *)__phys_to_virt((phys_addr_t)(x)))
#define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) #define pfn_to_kaddr(pfn) __va((phys_addr_t)(pfn) << PAGE_SHIFT)
extern phys_addr_t (*arch_virt_to_idmap)(unsigned long x); extern phys_addr_t (*arch_virt_to_idmap)(unsigned long x);
@ -286,7 +286,7 @@ extern phys_addr_t (*arch_virt_to_idmap)(unsigned long x);
*/ */
static inline phys_addr_t __virt_to_idmap(unsigned long x) static inline phys_addr_t __virt_to_idmap(unsigned long x)
{ {
if (arch_virt_to_idmap) if (IS_ENABLED(CONFIG_MMU) && arch_virt_to_idmap)
return arch_virt_to_idmap(x); return arch_virt_to_idmap(x);
else else
return __virt_to_phys(x); return __virt_to_phys(x);

View File

@ -1,15 +0,0 @@
/*
* Architecture specific mm hooks
*
* Copyright (C) 2015, IBM Corporation
* Author: Laurent Dufour <ldufour@linux.vnet.ibm.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef _ASM_ARM_MM_ARCH_HOOKS_H
#define _ASM_ARM_MM_ARCH_HOOKS_H
#endif /* _ASM_ARM_MM_ARCH_HOOKS_H */

View File

@ -129,7 +129,36 @@
/* /*
* These are the memory types, defined to be compatible with * These are the memory types, defined to be compatible with
* pre-ARMv6 CPUs cacheable and bufferable bits: XXCB * pre-ARMv6 CPUs cacheable and bufferable bits: n/a,n/a,C,B
* ARMv6+ without TEX remapping, they are a table index.
* ARMv6+ with TEX remapping, they correspond to n/a,TEX(0),C,B
*
* MT type Pre-ARMv6 ARMv6+ type / cacheable status
* UNCACHED Uncached Strongly ordered
* BUFFERABLE Bufferable Normal memory / non-cacheable
* WRITETHROUGH Writethrough Normal memory / write through
* WRITEBACK Writeback Normal memory / write back, read alloc
* MINICACHE Minicache N/A
* WRITEALLOC Writeback Normal memory / write back, write alloc
* DEV_SHARED Uncached Device memory (shared)
* DEV_NONSHARED Uncached Device memory (non-shared)
* DEV_WC Bufferable Normal memory / non-cacheable
* DEV_CACHED Writeback Normal memory / write back, read alloc
* VECTORS Variable Normal memory / variable
*
* All normal memory mappings have the following properties:
* - reads can be repeated with no side effects
* - repeated reads return the last value written
* - reads can fetch additional locations without side effects
* - writes can be repeated (in certain cases) with no side effects
* - writes can be merged before accessing the target
* - unaligned accesses can be supported
*
* All device mappings have the following properties:
* - no access speculation
* - no repetition (eg, on return from an exception)
* - number, order and size of accesses are maintained
* - unaligned accesses are "unpredictable"
*/ */
#define L_PTE_MT_UNCACHED (_AT(pteval_t, 0x00) << 2) /* 0000 */ #define L_PTE_MT_UNCACHED (_AT(pteval_t, 0x00) << 2) /* 0000 */
#define L_PTE_MT_BUFFERABLE (_AT(pteval_t, 0x01) << 2) /* 0001 */ #define L_PTE_MT_BUFFERABLE (_AT(pteval_t, 0x01) << 2) /* 0001 */

View File

@ -50,6 +50,9 @@ extern void __aeabi_ulcmp(void);
extern void fpundefinstr(void); extern void fpundefinstr(void);
void mmioset(void *, unsigned int, size_t);
void mmiocpy(void *, const void *, size_t);
/* platform dependent support */ /* platform dependent support */
EXPORT_SYMBOL(arm_delay_ops); EXPORT_SYMBOL(arm_delay_ops);
@ -88,6 +91,9 @@ EXPORT_SYMBOL(memmove);
EXPORT_SYMBOL(memchr); EXPORT_SYMBOL(memchr);
EXPORT_SYMBOL(__memzero); EXPORT_SYMBOL(__memzero);
EXPORT_SYMBOL(mmioset);
EXPORT_SYMBOL(mmiocpy);
#ifdef CONFIG_MMU #ifdef CONFIG_MMU
EXPORT_SYMBOL(copy_page); EXPORT_SYMBOL(copy_page);

View File

@ -410,7 +410,7 @@ ENDPROC(__fiq_abt)
zero_fp zero_fp
.if \trace .if \trace
#ifdef CONFIG_IRQSOFF_TRACER #ifdef CONFIG_TRACE_IRQFLAGS
bl trace_hardirqs_off bl trace_hardirqs_off
#endif #endif
ct_user_exit save = 0 ct_user_exit save = 0

View File

@ -818,12 +818,13 @@ static int of_pmu_irq_cfg(struct arm_pmu *pmu)
if (arch_find_n_match_cpu_physical_id(dn, cpu, NULL)) if (arch_find_n_match_cpu_physical_id(dn, cpu, NULL))
break; break;
of_node_put(dn);
if (cpu >= nr_cpu_ids) { if (cpu >= nr_cpu_ids) {
pr_warn("Failed to find logical CPU for %s\n", pr_warn("Failed to find logical CPU for %s\n",
dn->name); dn->name);
of_node_put(dn);
break; break;
} }
of_node_put(dn);
irqs[i] = cpu; irqs[i] = cpu;
cpumask_set_cpu(cpu, &pmu->supported_cpus); cpumask_set_cpu(cpu, &pmu->supported_cpus);

View File

@ -50,7 +50,7 @@ static void __soft_restart(void *addr)
flush_cache_all(); flush_cache_all();
/* Switch to the identity mapping. */ /* Switch to the identity mapping. */
phys_reset = (phys_reset_t)(unsigned long)virt_to_phys(cpu_reset); phys_reset = (phys_reset_t)(unsigned long)virt_to_idmap(cpu_reset);
phys_reset((unsigned long)addr); phys_reset((unsigned long)addr);
/* Should never get here. */ /* Should never get here. */

View File

@ -578,7 +578,7 @@ void handle_IPI(int ipinr, struct pt_regs *regs)
struct pt_regs *old_regs = set_irq_regs(regs); struct pt_regs *old_regs = set_irq_regs(regs);
if ((unsigned)ipinr < NR_IPI) { if ((unsigned)ipinr < NR_IPI) {
trace_ipi_entry(ipi_types[ipinr]); trace_ipi_entry_rcuidle(ipi_types[ipinr]);
__inc_irq_stat(cpu, ipi_irqs[ipinr]); __inc_irq_stat(cpu, ipi_irqs[ipinr]);
} }
@ -637,7 +637,7 @@ void handle_IPI(int ipinr, struct pt_regs *regs)
} }
if ((unsigned)ipinr < NR_IPI) if ((unsigned)ipinr < NR_IPI)
trace_ipi_exit(ipi_types[ipinr]); trace_ipi_exit_rcuidle(ipi_types[ipinr]);
set_irq_regs(old_regs); set_irq_regs(old_regs);
} }

View File

@ -61,8 +61,10 @@
/* Prototype: void *memcpy(void *dest, const void *src, size_t n); */ /* Prototype: void *memcpy(void *dest, const void *src, size_t n); */
ENTRY(mmiocpy)
ENTRY(memcpy) ENTRY(memcpy)
#include "copy_template.S" #include "copy_template.S"
ENDPROC(memcpy) ENDPROC(memcpy)
ENDPROC(mmiocpy)

View File

@ -16,6 +16,7 @@
.text .text
.align 5 .align 5
ENTRY(mmioset)
ENTRY(memset) ENTRY(memset)
UNWIND( .fnstart ) UNWIND( .fnstart )
ands r3, r0, #3 @ 1 unaligned? ands r3, r0, #3 @ 1 unaligned?
@ -133,3 +134,4 @@ UNWIND( .fnstart )
b 1b b 1b
UNWIND( .fnend ) UNWIND( .fnend )
ENDPROC(memset) ENDPROC(memset)
ENDPROC(mmioset)

View File

@ -291,8 +291,6 @@ void __init imx_gpc_check_dt(void)
} }
} }
#ifdef CONFIG_PM_GENERIC_DOMAINS
static void _imx6q_pm_pu_power_off(struct generic_pm_domain *genpd) static void _imx6q_pm_pu_power_off(struct generic_pm_domain *genpd)
{ {
int iso, iso2sw; int iso, iso2sw;
@ -399,7 +397,6 @@ static struct genpd_onecell_data imx_gpc_onecell_data = {
static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg) static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg)
{ {
struct clk *clk; struct clk *clk;
bool is_off;
int i; int i;
imx6q_pu_domain.reg = pu_reg; imx6q_pu_domain.reg = pu_reg;
@ -416,18 +413,13 @@ static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg)
} }
imx6q_pu_domain.num_clks = i; imx6q_pu_domain.num_clks = i;
is_off = IS_ENABLED(CONFIG_PM); /* Enable power always in case bootloader disabled it. */
if (is_off) { imx6q_pm_pu_power_on(&imx6q_pu_domain.base);
_imx6q_pm_pu_power_off(&imx6q_pu_domain.base);
} else {
/*
* Enable power if compiled without CONFIG_PM in case the
* bootloader disabled it.
*/
imx6q_pm_pu_power_on(&imx6q_pu_domain.base);
}
pm_genpd_init(&imx6q_pu_domain.base, NULL, is_off); if (!IS_ENABLED(CONFIG_PM_GENERIC_DOMAINS))
return 0;
pm_genpd_init(&imx6q_pu_domain.base, NULL, false);
return of_genpd_add_provider_onecell(dev->of_node, return of_genpd_add_provider_onecell(dev->of_node,
&imx_gpc_onecell_data); &imx_gpc_onecell_data);
@ -437,13 +429,6 @@ clk_err:
return -EINVAL; return -EINVAL;
} }
#else
static inline int imx_gpc_genpd_init(struct device *dev, struct regulator *reg)
{
return 0;
}
#endif /* CONFIG_PM_GENERIC_DOMAINS */
static int imx_gpc_probe(struct platform_device *pdev) static int imx_gpc_probe(struct platform_device *pdev)
{ {
struct regulator *pu_reg; struct regulator *pu_reg;

View File

@ -60,6 +60,7 @@ config SOC_AM43XX
select ARM_GIC select ARM_GIC
select MACH_OMAP_GENERIC select MACH_OMAP_GENERIC
select MIGHT_HAVE_CACHE_L2X0 select MIGHT_HAVE_CACHE_L2X0
select HAVE_ARM_SCU
config SOC_DRA7XX config SOC_DRA7XX
bool "TI DRA7XX" bool "TI DRA7XX"

View File

@ -117,7 +117,6 @@ static void omap2_show_dma_caps(void)
u8 revision = dma_read(REVISION, 0) & 0xff; u8 revision = dma_read(REVISION, 0) & 0xff;
printk(KERN_INFO "OMAP DMA hardware revision %d.%d\n", printk(KERN_INFO "OMAP DMA hardware revision %d.%d\n",
revision >> 4, revision & 0xf); revision >> 4, revision & 0xf);
return;
} }
static unsigned configure_dma_errata(void) static unsigned configure_dma_errata(void)

View File

@ -4,6 +4,7 @@ menuconfig ARCH_SIRF
select ARCH_REQUIRE_GPIOLIB select ARCH_REQUIRE_GPIOLIB
select GENERIC_IRQ_CHIP select GENERIC_IRQ_CHIP
select NO_IOPORT_MAP select NO_IOPORT_MAP
select REGMAP
select PINCTRL select PINCTRL
select PINCTRL_SIRF select PINCTRL_SIRF
help help

View File

@ -1,5 +1,5 @@
/* /*
* RTC I/O Bridge interfaces for CSR SiRFprimaII * RTC I/O Bridge interfaces for CSR SiRFprimaII/atlas7
* ARM access the registers of SYSRTC, GPSRTC and PWRC through this module * ARM access the registers of SYSRTC, GPSRTC and PWRC through this module
* *
* Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company. * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
@ -10,6 +10,7 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/io.h> #include <linux/io.h>
#include <linux/regmap.h>
#include <linux/of.h> #include <linux/of.h>
#include <linux/of_address.h> #include <linux/of_address.h>
#include <linux/of_device.h> #include <linux/of_device.h>
@ -66,6 +67,7 @@ u32 sirfsoc_rtc_iobrg_readl(u32 addr)
{ {
unsigned long flags, val; unsigned long flags, val;
/* TODO: add hwspinlock to sync with M3 */
spin_lock_irqsave(&rtciobrg_lock, flags); spin_lock_irqsave(&rtciobrg_lock, flags);
val = __sirfsoc_rtc_iobrg_readl(addr); val = __sirfsoc_rtc_iobrg_readl(addr);
@ -90,6 +92,7 @@ void sirfsoc_rtc_iobrg_writel(u32 val, u32 addr)
{ {
unsigned long flags; unsigned long flags;
/* TODO: add hwspinlock to sync with M3 */
spin_lock_irqsave(&rtciobrg_lock, flags); spin_lock_irqsave(&rtciobrg_lock, flags);
sirfsoc_rtc_iobrg_pre_writel(val, addr); sirfsoc_rtc_iobrg_pre_writel(val, addr);
@ -102,6 +105,45 @@ void sirfsoc_rtc_iobrg_writel(u32 val, u32 addr)
} }
EXPORT_SYMBOL_GPL(sirfsoc_rtc_iobrg_writel); EXPORT_SYMBOL_GPL(sirfsoc_rtc_iobrg_writel);
static int regmap_iobg_regwrite(void *context, unsigned int reg,
unsigned int val)
{
sirfsoc_rtc_iobrg_writel(val, reg);
return 0;
}
static int regmap_iobg_regread(void *context, unsigned int reg,
unsigned int *val)
{
*val = (u32)sirfsoc_rtc_iobrg_readl(reg);
return 0;
}
static struct regmap_bus regmap_iobg = {
.reg_write = regmap_iobg_regwrite,
.reg_read = regmap_iobg_regread,
};
/**
* devm_regmap_init_iobg(): Initialise managed register map
*
* @iobg: Device that will be interacted with
* @config: Configuration for register map
*
* The return value will be an ERR_PTR() on error or a valid pointer
* to a struct regmap. The regmap will be automatically freed by the
* device management code.
*/
struct regmap *devm_regmap_init_iobg(struct device *dev,
const struct regmap_config *config)
{
const struct regmap_bus *bus = &regmap_iobg;
return devm_regmap_init(dev, bus, dev, config);
}
EXPORT_SYMBOL_GPL(devm_regmap_init_iobg);
static const struct of_device_id rtciobrg_ids[] = { static const struct of_device_id rtciobrg_ids[] = {
{ .compatible = "sirf,prima2-rtciobg" }, { .compatible = "sirf,prima2-rtciobg" },
{} {}
@ -132,7 +174,7 @@ static int __init sirfsoc_rtciobrg_init(void)
} }
postcore_initcall(sirfsoc_rtciobrg_init); postcore_initcall(sirfsoc_rtciobrg_init);
MODULE_AUTHOR("Zhiwu Song <zhiwu.song@csr.com>, " MODULE_AUTHOR("Zhiwu Song <zhiwu.song@csr.com>");
"Barry Song <baohua.song@csr.com>"); MODULE_AUTHOR("Barry Song <baohua.song@csr.com>");
MODULE_DESCRIPTION("CSR SiRFprimaII rtc io bridge"); MODULE_DESCRIPTION("CSR SiRFprimaII rtc io bridge");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");

View File

@ -24,6 +24,7 @@
#include <linux/ata_platform.h> #include <linux/ata_platform.h>
#include <linux/serial_8250.h> #include <linux/serial_8250.h>
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/regulator/machine.h>
#include <asm/mach-types.h> #include <asm/mach-types.h>
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
@ -144,6 +145,8 @@ static void __init capc7117_init(void)
capc7117_uarts_init(); capc7117_uarts_init();
capc7117_ide_init(); capc7117_ide_init();
regulator_has_full_constraints();
} }
MACHINE_START(CAPC7117, MACHINE_START(CAPC7117,

View File

@ -13,6 +13,7 @@
#include <linux/syscore_ops.h> #include <linux/syscore_ops.h>
#include <linux/irq.h> #include <linux/irq.h>
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/regulator/machine.h>
#include <linux/dm9000.h> #include <linux/dm9000.h>
#include <linux/leds.h> #include <linux/leds.h>
@ -466,6 +467,8 @@ static void __init cmx2xx_init(void)
cmx2xx_init_ac97(); cmx2xx_init_ac97();
cmx2xx_init_touchscreen(); cmx2xx_init_touchscreen();
cmx2xx_init_leds(); cmx2xx_init_leds();
regulator_has_full_constraints();
} }
static void __init cmx2xx_init_irq(void) static void __init cmx2xx_init_irq(void)

View File

@ -835,6 +835,8 @@ static void __init cm_x300_init(void)
cm_x300_init_ac97(); cm_x300_init_ac97();
cm_x300_init_wi2wi(); cm_x300_init_wi2wi();
cm_x300_init_bl(); cm_x300_init_bl();
regulator_has_full_constraints();
} }
static void __init cm_x300_fixup(struct tag *tags, char **cmdline) static void __init cm_x300_fixup(struct tag *tags, char **cmdline)

View File

@ -18,6 +18,7 @@
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/mtd/physmap.h> #include <linux/mtd/physmap.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/regulator/machine.h>
#include <linux/ucb1400.h> #include <linux/ucb1400.h>
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
@ -294,6 +295,8 @@ static void __init colibri_pxa270_init(void)
printk(KERN_ERR "Illegal colibri_pxa270_baseboard type %d\n", printk(KERN_ERR "Illegal colibri_pxa270_baseboard type %d\n",
colibri_pxa270_baseboard); colibri_pxa270_baseboard);
} }
regulator_has_full_constraints();
} }
/* The "Income s.r.o. SH-Dmaster PXA270 SBC" board can be booted either /* The "Income s.r.o. SH-Dmaster PXA270 SBC" board can be booted either

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