mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 06:12:08 +00:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts: net/bridge/br_mdb.c br_mdb.c conflict was a function call being removed to fix a bug in 'net' but whose signature was changed in 'net-next'. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
c5e40ee287
5
.mailmap
5
.mailmap
@ -116,6 +116,7 @@ Shiraz Hashim <shiraz.linux.kernel@gmail.com> <shiraz.hashim@st.com>
|
||||
Simon Kelley <simon@thekelleys.org.uk>
|
||||
Stéphane Witzmann <stephane.witzmann@ubpmes.univ-bpclermont.fr>
|
||||
Stephen Hemminger <shemminger@osdl.org>
|
||||
Sudeep Holla <sudeep.holla@arm.com> Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
|
||||
Sumit Semwal <sumit.semwal@ti.com>
|
||||
Tejun Heo <htejun@gmail.com>
|
||||
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 <Uwe.Kleine-Koenig@digi.com>
|
||||
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>
|
||||
Yusuke Goda <goda.yusuke@renesas.com>
|
||||
Gustavo Padovan <gustavo@las.ic.unicamp.br>
|
||||
|
@ -1234,10 +1234,8 @@ Description:
|
||||
object is near the sensor, usually be observing
|
||||
reflectivity of infrared or ultrasound emitted.
|
||||
Often these sensors are unit less and as such conversion
|
||||
to SI units is not possible. Where it is, the units should
|
||||
be meters. If such a conversion is not possible, the reported
|
||||
values should behave in the same way as a distance, i.e. lower
|
||||
values indicate something is closer to the sensor.
|
||||
to SI units is not possible. Higher proximity measurements
|
||||
indicate closer objects, and vice versa.
|
||||
|
||||
What: /sys/.../iio:deviceX/in_illuminance_input
|
||||
What: /sys/.../iio:deviceX/in_illuminance_raw
|
||||
|
@ -3383,7 +3383,7 @@ void intel_crt_init(struct drm_device *dev)
|
||||
<td valign="top" >TBD</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td rowspan="2" valign="top" >omap</td>
|
||||
<td valign="top" >omap</td>
|
||||
<td valign="top" >Generic</td>
|
||||
<td valign="top" >“zorder”</td>
|
||||
<td valign="top" >RANGE</td>
|
||||
|
@ -60,4 +60,4 @@ Introduction
|
||||
Document Author
|
||||
---------------
|
||||
|
||||
Viresh Kumar <viresh.linux@gmail.com>, (c) 2010-2012 ST Microelectronics
|
||||
Viresh Kumar <vireshk@kernel.org>, (c) 2010-2012 ST Microelectronics
|
||||
|
@ -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
|
||||
contain the string 'Fail'. The userspace recovery tools
|
||||
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
|
||||
--------
|
||||
|
@ -296,7 +296,7 @@ ii) Status
|
||||
underlying device. When this is enabled when loading the table,
|
||||
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
|
||||
drop into a read-only metadata mode in which no changes to
|
||||
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
|
||||
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
|
||||
|
||||
create_thin <dev id>
|
||||
|
@ -65,8 +65,10 @@ Optional properties:
|
||||
- edid: verbatim EDID data block describing attached display.
|
||||
- ddc: phandle describing the i2c bus handling the display data
|
||||
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.
|
||||
Port 0 is the input port connected to the IPU display interface,
|
||||
port 1 is the output port connected to a panel.
|
||||
|
||||
example:
|
||||
|
||||
@ -75,9 +77,29 @@ display@di0 {
|
||||
edid = [edid-data];
|
||||
interface-pix-fmt = "rgb24";
|
||||
|
||||
port {
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
display_in: endpoint {
|
||||
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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -952,6 +952,14 @@ When kbuild executes, the following steps are followed (roughly):
|
||||
$(KBUILD_ARFLAGS) set by the top level Makefile to "D" (deterministic
|
||||
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:
|
||||
|
||||
The archheaders: rule is used to generate header files that
|
||||
|
109
MAINTAINERS
109
MAINTAINERS
@ -361,11 +361,11 @@ S: Supported
|
||||
F: drivers/input/touchscreen/ad7879.c
|
||||
|
||||
ADDRESS SPACE LAYOUT RANDOMIZATION (ASLR)
|
||||
M: Jiri Kosina <jkosina@suse.cz>
|
||||
M: Jiri Kosina <jkosina@suse.com>
|
||||
S: Maintained
|
||||
|
||||
ADM1025 HARDWARE MONITOR DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/adm1025
|
||||
@ -430,7 +430,7 @@ S: Maintained
|
||||
F: drivers/macintosh/therm_adt746x.c
|
||||
|
||||
ADT7475 HARDWARE MONITOR DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/adt7475
|
||||
@ -445,7 +445,7 @@ F: drivers/input/misc/adxl34x.c
|
||||
|
||||
ADVANSYS SCSI DRIVER
|
||||
M: Matthew Wilcox <matthew@wil.cx>
|
||||
M: Hannes Reinecke <hare@suse.de>
|
||||
M: Hannes Reinecke <hare@suse.com>
|
||||
L: linux-scsi@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/scsi/advansys.txt
|
||||
@ -506,7 +506,7 @@ F: drivers/scsi/aha152x*
|
||||
F: drivers/scsi/pcmcia/aha152x*
|
||||
|
||||
AIC7XXX / AIC79XX SCSI DRIVER
|
||||
M: Hannes Reinecke <hare@suse.de>
|
||||
M: Hannes Reinecke <hare@suse.com>
|
||||
L: linux-scsi@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/scsi/aic7xxx/
|
||||
@ -746,7 +746,7 @@ S: Maintained
|
||||
F: sound/aoa/
|
||||
|
||||
APM DRIVER
|
||||
M: Jiri Kosina <jkosina@suse.cz>
|
||||
M: Jiri Kosina <jkosina@suse.com>
|
||||
S: Odd fixes
|
||||
F: arch/x86/kernel/apm_32.c
|
||||
F: include/linux/apm_bios.h
|
||||
@ -1001,6 +1001,7 @@ ARM/CONEXANT DIGICOLOR MACHINE SUPPORT
|
||||
M: Baruch Siach <baruch@tkos.co.il>
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
F: arch/arm/boot/dts/cx92755*
|
||||
N: digicolor
|
||||
|
||||
ARM/EBSA110 MACHINE SUPPORT
|
||||
@ -1324,7 +1325,7 @@ F: arch/arm/mach-pxa/include/mach/palmtc.h
|
||||
F: arch/arm/mach-pxa/palmtc.c
|
||||
|
||||
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
|
||||
W: http://hackndev.com
|
||||
S: Maintained
|
||||
@ -2405,7 +2406,7 @@ F: drivers/gpio/gpio-bt8xx.c
|
||||
BTRFS FILE SYSTEM
|
||||
M: Chris Mason <clm@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
|
||||
W: http://btrfs.wiki.kernel.org/
|
||||
Q: http://patchwork.kernel.org/project/linux-btrfs/list/
|
||||
@ -2748,7 +2749,7 @@ COCCINELLE/Semantic Patches (SmPL)
|
||||
M: Julia Lawall <Julia.Lawall@lip6.fr>
|
||||
M: Gilles Muller <Gilles.Muller@lip6.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)
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git misc
|
||||
W: http://coccinelle.lip6.fr/
|
||||
@ -2864,7 +2865,7 @@ F: kernel/cpuset.c
|
||||
|
||||
CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG)
|
||||
M: Johannes Weiner <hannes@cmpxchg.org>
|
||||
M: Michal Hocko <mhocko@suse.cz>
|
||||
M: Michal Hocko <mhocko@kernel.org>
|
||||
L: cgroups@vger.kernel.org
|
||||
L: linux-mm@kvack.org
|
||||
S: Maintained
|
||||
@ -2945,7 +2946,7 @@ F: arch/x86/kernel/cpuid.c
|
||||
F: arch/x86/kernel/msr.c
|
||||
|
||||
CPU POWER MONITORING SUBSYSTEM
|
||||
M: Thomas Renninger <trenn@suse.de>
|
||||
M: Thomas Renninger <trenn@suse.com>
|
||||
L: linux-pm@vger.kernel.org
|
||||
S: Maintained
|
||||
F: tools/power/cpupower/
|
||||
@ -3175,7 +3176,7 @@ F: Documentation/networking/dmfe.txt
|
||||
F: drivers/net/ethernet/dec/tulip/dmfe.c
|
||||
|
||||
DC390/AM53C974 SCSI driver
|
||||
M: Hannes Reinecke <hare@suse.de>
|
||||
M: Hannes Reinecke <hare@suse.com>
|
||||
L: linux-scsi@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/scsi/am53c974.c
|
||||
@ -3379,7 +3380,7 @@ W: http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
|
||||
S: Maintained
|
||||
|
||||
DISKQUOTA
|
||||
M: Jan Kara <jack@suse.cz>
|
||||
M: Jan Kara <jack@suse.com>
|
||||
S: Maintained
|
||||
F: Documentation/filesystems/quota.txt
|
||||
F: fs/quota/
|
||||
@ -3435,7 +3436,7 @@ F: Documentation/hwmon/dme1737
|
||||
F: drivers/hwmon/dme1737.c
|
||||
|
||||
DMI/SMBIOS SUPPORT
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
S: Maintained
|
||||
T: quilt http://jdelvare.nerim.net/devel/linux/jdelvare-dmi/
|
||||
F: Documentation/ABI/testing/sysfs-firmware-dmi-tables
|
||||
@ -4051,7 +4052,7 @@ F: drivers/of/of_mdio.c
|
||||
F: drivers/of/of_net.c
|
||||
|
||||
EXT2 FILE SYSTEM
|
||||
M: Jan Kara <jack@suse.cz>
|
||||
M: Jan Kara <jack@suse.com>
|
||||
L: linux-ext4@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/filesystems/ext2.txt
|
||||
@ -4059,7 +4060,7 @@ F: fs/ext2/
|
||||
F: include/linux/ext2*
|
||||
|
||||
EXT3 FILE SYSTEM
|
||||
M: Jan Kara <jack@suse.cz>
|
||||
M: Jan Kara <jack@suse.com>
|
||||
M: Andrew Morton <akpm@linux-foundation.org>
|
||||
M: Andreas Dilger <adilger.kernel@dilger.ca>
|
||||
L: linux-ext4@vger.kernel.org
|
||||
@ -4109,7 +4110,7 @@ F: drivers/video/fbdev/exynos/exynos_mipi*
|
||||
F: include/video/exynos_mipi*
|
||||
|
||||
F71805F HARDWARE MONITORING DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/f71805f
|
||||
@ -4244,7 +4245,7 @@ S: Maintained
|
||||
F: drivers/block/rsxx/
|
||||
|
||||
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
|
||||
S: Odd fixes
|
||||
F: drivers/block/floppy.c
|
||||
@ -4665,7 +4666,7 @@ F: drivers/media/usb/stk1160/
|
||||
|
||||
H8/300 ARCHITECTURE
|
||||
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
|
||||
T: git git://git.sourceforge.jp/gitroot/uclinux-h8/linux.git
|
||||
S: Maintained
|
||||
@ -4712,7 +4713,7 @@ S: Maintained
|
||||
F: drivers/media/usb/hackrf/
|
||||
|
||||
HARDWARE MONITORING
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
M: Guenter Roeck <linux@roeck-us.net>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
W: http://www.lm-sensors.org/
|
||||
@ -4815,7 +4816,7 @@ F: include/linux/pm.h
|
||||
F: arch/*/include/asm/suspend*.h
|
||||
|
||||
HID CORE LAYER
|
||||
M: Jiri Kosina <jkosina@suse.cz>
|
||||
M: Jiri Kosina <jkosina@suse.com>
|
||||
L: linux-input@vger.kernel.org
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
|
||||
S: Maintained
|
||||
@ -4824,7 +4825,7 @@ F: include/linux/hid*
|
||||
F: include/uapi/linux/hid*
|
||||
|
||||
HID SENSOR HUB DRIVERS
|
||||
M: Jiri Kosina <jkosina@suse.cz>
|
||||
M: Jiri Kosina <jkosina@suse.com>
|
||||
M: Jonathan Cameron <jic23@kernel.org>
|
||||
M: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
|
||||
L: linux-input@vger.kernel.org
|
||||
@ -4958,7 +4959,7 @@ F: include/linux/hyperv.h
|
||||
F: tools/hv/
|
||||
|
||||
I2C OVER PARALLEL PORT
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: linux-i2c@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/i2c/busses/i2c-parport
|
||||
@ -4967,7 +4968,7 @@ F: drivers/i2c/busses/i2c-parport.c
|
||||
F: drivers/i2c/busses/i2c-parport-light.c
|
||||
|
||||
I2C/SMBUS CONTROLLER DRIVERS FOR PC
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: linux-i2c@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/i2c/busses/i2c-ali1535
|
||||
@ -5008,7 +5009,7 @@ F: drivers/i2c/busses/i2c-ismt.c
|
||||
F: Documentation/i2c/busses/i2c-ismt
|
||||
|
||||
I2C/SMBUS STUB DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: linux-i2c@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/i2c/i2c-stub.c
|
||||
@ -5035,7 +5036,7 @@ L: linux-acpi@vger.kernel.org
|
||||
S: Maintained
|
||||
|
||||
I2C-TAOS-EVM DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: linux-i2c@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/i2c/busses/i2c-taos-evm
|
||||
@ -5564,8 +5565,8 @@ F: include/uapi/linux/ip_vs.h
|
||||
F: net/netfilter/ipvs/
|
||||
|
||||
IPWIRELESS DRIVER
|
||||
M: Jiri Kosina <jkosina@suse.cz>
|
||||
M: David Sterba <dsterba@suse.cz>
|
||||
M: Jiri Kosina <jkosina@suse.com>
|
||||
M: David Sterba <dsterba@suse.com>
|
||||
S: Odd Fixes
|
||||
F: drivers/tty/ipwireless/
|
||||
|
||||
@ -5685,7 +5686,7 @@ S: Maintained
|
||||
F: drivers/isdn/hardware/eicon/
|
||||
|
||||
IT87 HARDWARE MONITORING DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/it87
|
||||
@ -5752,7 +5753,7 @@ F: include/uapi/linux/jffs2.h
|
||||
|
||||
JOURNALLING LAYER FOR BLOCK DEVICES (JBD)
|
||||
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
|
||||
S: Maintained
|
||||
F: fs/jbd/
|
||||
@ -5816,7 +5817,7 @@ S: Maintained
|
||||
F: fs/autofs4/
|
||||
|
||||
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 rc-fixes
|
||||
L: linux-kbuild@vger.kernel.org
|
||||
@ -5880,7 +5881,7 @@ F: arch/x86/include/asm/svm.h
|
||||
F: arch/x86/kvm/svm.c
|
||||
|
||||
KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC
|
||||
M: Alexander Graf <agraf@suse.de>
|
||||
M: Alexander Graf <agraf@suse.com>
|
||||
L: kvm-ppc@vger.kernel.org
|
||||
W: http://kvm.qumranet.com
|
||||
T: git git://github.com/agraf/linux-2.6.git
|
||||
@ -6037,7 +6038,7 @@ F: drivers/leds/
|
||||
F: include/linux/leds.h
|
||||
|
||||
LEGACY EEPROM DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
S: Maintained
|
||||
F: Documentation/misc-devices/eeprom
|
||||
F: drivers/misc/eeprom/eeprom.c
|
||||
@ -6090,7 +6091,7 @@ F: include/linux/ata.h
|
||||
F: include/linux/libata.h
|
||||
|
||||
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
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
|
||||
S: Maintained
|
||||
@ -6251,8 +6252,8 @@ F: drivers/platform/x86/hp_accel.c
|
||||
LIVE PATCHING
|
||||
M: Josh Poimboeuf <jpoimboe@redhat.com>
|
||||
M: Seth Jennings <sjenning@redhat.com>
|
||||
M: Jiri Kosina <jkosina@suse.cz>
|
||||
M: Vojtech Pavlik <vojtech@suse.cz>
|
||||
M: Jiri Kosina <jkosina@suse.com>
|
||||
M: Vojtech Pavlik <vojtech@suse.com>
|
||||
S: Maintained
|
||||
F: kernel/livepatch/
|
||||
F: include/linux/livepatch.h
|
||||
@ -6278,21 +6279,21 @@ S: Maintained
|
||||
F: drivers/hwmon/lm73.c
|
||||
|
||||
LM78 HARDWARE MONITOR DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/lm78
|
||||
F: drivers/hwmon/lm78.c
|
||||
|
||||
LM83 HARDWARE MONITOR DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/lm83
|
||||
F: drivers/hwmon/lm83.c
|
||||
|
||||
LM90 HARDWARE MONITOR DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/lm90
|
||||
@ -7719,7 +7720,7 @@ S: Maintained
|
||||
F: drivers/char/pc8736x_gpio.c
|
||||
|
||||
PC87427 HARDWARE MONITORING DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/pc87427
|
||||
@ -7996,7 +7997,7 @@ S: Maintained
|
||||
F: drivers/pinctrl/samsung/
|
||||
|
||||
PIN CONTROLLER - ST SPEAR
|
||||
M: Viresh Kumar <viresh.linux@gmail.com>
|
||||
M: Viresh Kumar <vireshk@kernel.org>
|
||||
L: spear-devel@list.st.com
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
W: http://www.st.com/spear
|
||||
@ -8004,7 +8005,7 @@ S: Maintained
|
||||
F: drivers/pinctrl/spear/
|
||||
|
||||
PKTCDVD DRIVER
|
||||
M: Jiri Kosina <jkosina@suse.cz>
|
||||
M: Jiri Kosina <jkosina@suse.com>
|
||||
S: Maintained
|
||||
F: drivers/block/pktcdvd.c
|
||||
F: include/linux/pktcdvd.h
|
||||
@ -8895,7 +8896,7 @@ S: Maintained
|
||||
F: drivers/tty/serial/
|
||||
|
||||
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>
|
||||
S: Maintained
|
||||
F: include/linux/dma/dw.h
|
||||
@ -9062,7 +9063,7 @@ S: Maintained
|
||||
F: drivers/mmc/host/sdhci-s3c*
|
||||
|
||||
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: linux-mmc@vger.kernel.org
|
||||
S: Maintained
|
||||
@ -9424,7 +9425,7 @@ F: Documentation/hwmon/sch5627
|
||||
F: drivers/hwmon/sch5627.c
|
||||
|
||||
SMSC47B397 HARDWARE MONITOR DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: Documentation/hwmon/smsc47b397
|
||||
@ -9473,7 +9474,7 @@ S: Supported
|
||||
F: drivers/media/pci/solo6x10/
|
||||
|
||||
SOFTWARE RAID (Multiple Disks) SUPPORT
|
||||
M: Neil Brown <neilb@suse.de>
|
||||
M: Neil Brown <neilb@suse.com>
|
||||
L: linux-raid@vger.kernel.org
|
||||
S: Supported
|
||||
F: drivers/md/
|
||||
@ -9516,7 +9517,7 @@ F: drivers/memstick/core/ms_block.*
|
||||
|
||||
SOUND
|
||||
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)
|
||||
W: http://www.alsa-project.org/
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
|
||||
@ -9600,7 +9601,7 @@ S: Maintained
|
||||
F: include/linux/compiler.h
|
||||
|
||||
SPEAR PLATFORM SUPPORT
|
||||
M: Viresh Kumar <viresh.linux@gmail.com>
|
||||
M: Viresh Kumar <vireshk@kernel.org>
|
||||
M: Shiraz Hashim <shiraz.linux.kernel@gmail.com>
|
||||
L: spear-devel@list.st.com
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
@ -9609,7 +9610,7 @@ S: Maintained
|
||||
F: arch/arm/mach-spear/
|
||||
|
||||
SPEAR CLOCK FRAMEWORK SUPPORT
|
||||
M: Viresh Kumar <viresh.linux@gmail.com>
|
||||
M: Viresh Kumar <vireshk@kernel.org>
|
||||
L: spear-devel@list.st.com
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
W: http://www.st.com/spear
|
||||
@ -10399,7 +10400,7 @@ K: ^Subject:.*(?i)trivial
|
||||
|
||||
TTY LAYER
|
||||
M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
M: Jiri Slaby <jslaby@suse.cz>
|
||||
M: Jiri Slaby <jslaby@suse.com>
|
||||
S: Supported
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
|
||||
F: Documentation/serial/
|
||||
@ -10473,7 +10474,7 @@ F: arch/m68k/*/*_no.*
|
||||
F: arch/m68k/include/asm/*_no.*
|
||||
|
||||
UDF FILESYSTEM
|
||||
M: Jan Kara <jack@suse.cz>
|
||||
M: Jan Kara <jack@suse.com>
|
||||
S: Maintained
|
||||
F: Documentation/filesystems/udf.txt
|
||||
F: fs/udf/
|
||||
@ -10616,7 +10617,7 @@ F: drivers/usb/gadget/
|
||||
F: include/linux/usb/gadget*
|
||||
|
||||
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
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
|
||||
S: Maintained
|
||||
@ -10741,7 +10742,7 @@ S: Maintained
|
||||
F: drivers/usb/host/uhci*
|
||||
|
||||
USB "USBNET" DRIVER FRAMEWORK
|
||||
M: Oliver Neukum <oneukum@suse.de>
|
||||
M: Oliver Neukum <oneukum@suse.com>
|
||||
L: netdev@vger.kernel.org
|
||||
W: http://www.linux-usb.org/usbnet
|
||||
S: Maintained
|
||||
@ -11068,7 +11069,7 @@ F: Documentation/hwmon/w83793
|
||||
F: drivers/hwmon/w83793.c
|
||||
|
||||
W83795 HARDWARE MONITORING DRIVER
|
||||
M: Jean Delvare <jdelvare@suse.de>
|
||||
M: Jean Delvare <jdelvare@suse.com>
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
F: drivers/hwmon/w83795.c
|
||||
|
11
Makefile
11
Makefile
@ -1,7 +1,7 @@
|
||||
VERSION = 4
|
||||
PATCHLEVEL = 2
|
||||
SUBLEVEL = 0
|
||||
EXTRAVERSION = -rc2
|
||||
EXTRAVERSION = -rc3
|
||||
NAME = Hurr durr I'ma sheep
|
||||
|
||||
# *DOCUMENTATION*
|
||||
@ -780,10 +780,11 @@ endif
|
||||
include scripts/Makefile.kasan
|
||||
include scripts/Makefile.extrawarn
|
||||
|
||||
# Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments
|
||||
KBUILD_CPPFLAGS += $(KCPPFLAGS)
|
||||
KBUILD_AFLAGS += $(KAFLAGS)
|
||||
KBUILD_CFLAGS += $(KCFLAGS)
|
||||
# Add any arch overrides and user supplied CPPFLAGS, AFLAGS and CFLAGS as the
|
||||
# last assignments
|
||||
KBUILD_CPPFLAGS += $(ARCH_CPPFLAGS) $(KCPPFLAGS)
|
||||
KBUILD_AFLAGS += $(ARCH_AFLAGS) $(KAFLAGS)
|
||||
KBUILD_CFLAGS += $(ARCH_CFLAGS) $(KCFLAGS)
|
||||
|
||||
# Use --build-id when available.
|
||||
LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\
|
||||
|
@ -221,6 +221,10 @@ config ARCH_TASK_STRUCT_ALLOCATOR
|
||||
config ARCH_THREAD_INFO_ALLOCATOR
|
||||
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
|
||||
bool
|
||||
help
|
||||
|
@ -5,6 +5,7 @@ generic-y += cputime.h
|
||||
generic-y += exec.h
|
||||
generic-y += irq_work.h
|
||||
generic-y += mcs_spinlock.h
|
||||
generic-y += mm-arch-hooks.h
|
||||
generic-y += preempt.h
|
||||
generic-y += sections.h
|
||||
generic-y += trace_clock.h
|
||||
|
@ -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 */
|
@ -115,6 +115,7 @@ if ISA_ARCOMPACT
|
||||
|
||||
config ARC_CPU_750D
|
||||
bool "ARC750D"
|
||||
select ARC_CANT_LLSC
|
||||
help
|
||||
Support for ARC750 core
|
||||
|
||||
@ -362,7 +363,7 @@ config ARC_CANT_LLSC
|
||||
config ARC_HAS_LLSC
|
||||
bool "Insn: LLOCK/SCOND (efficient atomic ops)"
|
||||
default y
|
||||
depends on !ARC_CPU_750D && !ARC_CANT_LLSC
|
||||
depends on !ARC_CANT_LLSC
|
||||
|
||||
config ARC_HAS_SWAPE
|
||||
bool "Insn: SWAPE (endian-swap)"
|
||||
|
@ -49,7 +49,8 @@ endif
|
||||
|
||||
ifndef CONFIG_CC_OPTIMIZE_FOR_SIZE
|
||||
# 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
|
||||
|
||||
# small data is default for elf32 tool-chain. If not usable, disable it
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
/ {
|
||||
compatible = "snps,arc";
|
||||
clock-frequency = <75000000>;
|
||||
clock-frequency = <90000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
/ {
|
||||
compatible = "snps,arc";
|
||||
clock-frequency = <75000000>;
|
||||
clock-frequency = <90000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
|
@ -22,6 +22,7 @@ generic-y += kvm_para.h
|
||||
generic-y += local.h
|
||||
generic-y += local64.h
|
||||
generic-y += mcs_spinlock.h
|
||||
generic-y += mm-arch-hooks.h
|
||||
generic-y += mman.h
|
||||
generic-y += msgbuf.h
|
||||
generic-y += param.h
|
||||
|
@ -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 \
|
||||
* const prop. \
|
||||
*/ \
|
||||
if (__builtin_constant_p(nr)) \
|
||||
nr &= 0x1f; \
|
||||
nr &= 0x1f; \
|
||||
\
|
||||
__asm__ __volatile__( \
|
||||
"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; \
|
||||
\
|
||||
if (__builtin_constant_p(nr)) \
|
||||
nr &= 0x1f; \
|
||||
nr &= 0x1f; \
|
||||
\
|
||||
/* \
|
||||
* 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; \
|
||||
m += nr >> 5; \
|
||||
\
|
||||
if (__builtin_constant_p(nr)) \
|
||||
nr &= 0x1f; \
|
||||
\
|
||||
/* \
|
||||
* spin lock/unlock provide the needed smp_mb() before/after \
|
||||
*/ \
|
||||
bitops_lock(flags); \
|
||||
\
|
||||
temp = *m; \
|
||||
*m = temp c_op (1UL << nr); \
|
||||
*m = temp c_op (1UL << (nr & 0x1f)); \
|
||||
\
|
||||
bitops_unlock(flags); \
|
||||
}
|
||||
@ -149,17 +144,14 @@ static inline int test_and_##op##_bit(unsigned long nr, volatile unsigned long *
|
||||
unsigned long old, flags; \
|
||||
m += nr >> 5; \
|
||||
\
|
||||
if (__builtin_constant_p(nr)) \
|
||||
nr &= 0x1f; \
|
||||
\
|
||||
bitops_lock(flags); \
|
||||
\
|
||||
old = *m; \
|
||||
*m = old c_op (1 << nr); \
|
||||
*m = old c_op (1UL << (nr & 0x1f)); \
|
||||
\
|
||||
bitops_unlock(flags); \
|
||||
\
|
||||
return (old & (1 << nr)) != 0; \
|
||||
return (old & (1UL << (nr & 0x1f))) != 0; \
|
||||
}
|
||||
|
||||
#endif /* CONFIG_ARC_HAS_LLSC */
|
||||
@ -174,11 +166,8 @@ static inline void __##op##_bit(unsigned long nr, volatile unsigned long *m) \
|
||||
unsigned long temp; \
|
||||
m += nr >> 5; \
|
||||
\
|
||||
if (__builtin_constant_p(nr)) \
|
||||
nr &= 0x1f; \
|
||||
\
|
||||
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) \
|
||||
@ -187,13 +176,10 @@ static inline int __test_and_##op##_bit(unsigned long nr, volatile unsigned long
|
||||
unsigned long old; \
|
||||
m += nr >> 5; \
|
||||
\
|
||||
if (__builtin_constant_p(nr)) \
|
||||
nr &= 0x1f; \
|
||||
\
|
||||
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) \
|
||||
@ -224,10 +210,7 @@ test_bit(unsigned int nr, const volatile unsigned long *addr)
|
||||
|
||||
addr += nr >> 5;
|
||||
|
||||
if (__builtin_constant_p(nr))
|
||||
nr &= 0x1f;
|
||||
|
||||
mask = 1 << nr;
|
||||
mask = 1UL << (nr & 0x1f);
|
||||
|
||||
return ((mask & *addr) != 0);
|
||||
}
|
||||
|
@ -16,12 +16,15 @@
|
||||
#include <linux/uaccess.h>
|
||||
#include <asm/errno.h>
|
||||
|
||||
#ifdef CONFIG_ARC_HAS_LLSC
|
||||
|
||||
#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg)\
|
||||
\
|
||||
__asm__ __volatile__( \
|
||||
"1: ld %1, [%2] \n" \
|
||||
"1: llock %1, [%2] \n" \
|
||||
insn "\n" \
|
||||
"2: st %0, [%2] \n" \
|
||||
"2: scond %0, [%2] \n" \
|
||||
" bnz 1b \n" \
|
||||
" mov %0, 0 \n" \
|
||||
"3: \n" \
|
||||
" .section .fixup,\"ax\" \n" \
|
||||
@ -39,6 +42,33 @@
|
||||
: "r" (uaddr), "r" (oparg), "ir" (-EFAULT) \
|
||||
: "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)
|
||||
{
|
||||
int op = (encoded_op >> 28) & 7;
|
||||
@ -123,11 +153,17 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, u32 oldval,
|
||||
|
||||
pagefault_disable();
|
||||
|
||||
/* TBD : can use llock/scond */
|
||||
__asm__ __volatile__(
|
||||
"1: ld %0, [%3] \n"
|
||||
" brne %0, %1, 3f \n"
|
||||
"2: st %2, [%3] \n"
|
||||
#ifdef CONFIG_ARC_HAS_LLSC
|
||||
"1: llock %0, [%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"
|
||||
" .section .fixup,\"ax\" \n"
|
||||
"4: mov %0, %4 \n"
|
||||
|
@ -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 */
|
@ -106,7 +106,7 @@ struct callee_regs {
|
||||
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)
|
||||
|
||||
/* return 1 if user mode or 0 if kernel mode */
|
||||
|
@ -12,7 +12,6 @@
|
||||
#include <linux/of.h>
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/irqchip.h>
|
||||
#include "../../drivers/irqchip/irqchip.h"
|
||||
#include <asm/irq.h>
|
||||
|
||||
/*
|
||||
|
@ -12,7 +12,6 @@
|
||||
#include <linux/of.h>
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/irqchip.h>
|
||||
#include "../../drivers/irqchip/irqchip.h"
|
||||
#include <asm/irq.h>
|
||||
|
||||
/*
|
||||
|
@ -175,7 +175,6 @@ void mcip_init_early_smp(void)
|
||||
#include <linux/irqchip.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include "../../drivers/irqchip/irqchip.h"
|
||||
|
||||
/*
|
||||
* 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);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
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;
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct irq_chip idu_irq_chip = {
|
||||
.name = "MCIP IDU Intc",
|
||||
@ -330,8 +346,7 @@ idu_of_init(struct device_node *intc, struct device_node *parent)
|
||||
if (!i)
|
||||
idu_first_irq = irq;
|
||||
|
||||
irq_set_handler_data(irq, domain);
|
||||
irq_set_chained_handler(irq, idu_cascade_isr);
|
||||
irq_set_chained_handler_and_data(irq, idu_cascade_isr, domain);
|
||||
}
|
||||
|
||||
__mcip_cmd(CMD_IDU_ENABLE, 0);
|
||||
|
@ -142,17 +142,22 @@ static void read_arc_build_cfg_regs(void)
|
||||
}
|
||||
|
||||
static const struct cpuinfo_data arc_cpu_tbl[] = {
|
||||
#ifdef CONFIG_ISA_ARCOMPACT
|
||||
{ {0x20, "ARC 600" }, 0x2F},
|
||||
{ {0x30, "ARC 700" }, 0x33},
|
||||
{ {0x34, "ARC 700 R4.10"}, 0x34},
|
||||
{ {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 } }
|
||||
};
|
||||
|
||||
#define IS_AVAIL1(v, str) ((v) ? str : "")
|
||||
#define IS_USED(cfg) (IS_ENABLED(cfg) ? "" : "(not used) ")
|
||||
#define IS_AVAIL2(v, str, cfg) IS_AVAIL1(v, str), IS_AVAIL1(v, IS_USED(cfg))
|
||||
#define IS_AVAIL1(v, s) ((v) ? s : "")
|
||||
#define IS_USED_RUN(v) ((v) ? "" : "(not used) ")
|
||||
#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)
|
||||
{
|
||||
@ -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, "%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",
|
||||
|
@ -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)
|
||||
{
|
||||
struct path path;
|
||||
char *path_nm = NULL;
|
||||
struct mm_struct *mm;
|
||||
struct file *exe_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)
|
||||
{
|
||||
#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 int ctrl;
|
||||
|
||||
local_irq_save(flags);
|
||||
spin_lock_irqsave(&lock, flags);
|
||||
|
||||
/*
|
||||
* 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);
|
||||
|
||||
local_irq_restore(flags);
|
||||
spin_unlock_irqrestore(&lock, flags);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -60,8 +60,8 @@ void *dma_alloc_coherent(struct device *dev, size_t size,
|
||||
|
||||
/* This is kernel Virtual address (0x7000_0000 based) */
|
||||
kvaddr = ioremap_nocache((unsigned long)paddr, size);
|
||||
if (kvaddr != NULL)
|
||||
memset(kvaddr, 0, size);
|
||||
if (kvaddr == NULL)
|
||||
return NULL;
|
||||
|
||||
/* This is bus address, platform dependent */
|
||||
*dma_handle = (dma_addr_t)paddr;
|
||||
|
@ -74,6 +74,7 @@
|
||||
audio_codec: tlv320aic3106@1b {
|
||||
compatible = "ti,tlv320aic3106";
|
||||
reg = <0x1b>;
|
||||
ai3x-micbias-vg = <0x2>;
|
||||
};
|
||||
|
||||
accel: lis331dlh@1d {
|
||||
@ -153,7 +154,7 @@
|
||||
ti,audio-routing =
|
||||
"Headphone Jack", "HPLOUT",
|
||||
"Headphone Jack", "HPROUT",
|
||||
"LINE1L", "Line In";
|
||||
"MIC3L", "Mic3L Switch";
|
||||
};
|
||||
|
||||
&mcasp0 {
|
||||
@ -438,41 +439,50 @@
|
||||
regulators {
|
||||
dcdc1_reg: regulator@0 {
|
||||
/* VDD_1V8 system supply */
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
dcdc2_reg: regulator@1 {
|
||||
/* VDD_CORE voltage limits 0.95V - 1.26V with +/-4% tolerance */
|
||||
regulator-name = "vdd_core";
|
||||
regulator-min-microvolt = <925000>;
|
||||
regulator-max-microvolt = <1325000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
dcdc3_reg: regulator@2 {
|
||||
/* VDD_MPU voltage limits 0.95V - 1.1V with +/-4% tolerance */
|
||||
regulator-name = "vdd_mpu";
|
||||
regulator-min-microvolt = <925000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
regulator-max-microvolt = <1325000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo1_reg: regulator@3 {
|
||||
/* VRTC 1.8V always-on supply */
|
||||
regulator-name = "vrtc,vdds";
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo2_reg: regulator@4 {
|
||||
/* 3.3V rail */
|
||||
regulator-name = "vdd_3v3aux";
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo3_reg: regulator@5 {
|
||||
/* VDD_3V3A 3.3V rail */
|
||||
regulator-name = "vdd_3v3a";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
ldo4_reg: regulator@6 {
|
||||
/* VDD_3V3B 3.3V rail */
|
||||
regulator-name = "vdd_3v3b";
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -22,6 +22,7 @@
|
||||
MATRIX_KEY(0x00, 0x02, KEY_F1)
|
||||
MATRIX_KEY(0x00, 0x03, KEY_B)
|
||||
MATRIX_KEY(0x00, 0x04, KEY_F10)
|
||||
MATRIX_KEY(0x00, 0x05, KEY_RO)
|
||||
MATRIX_KEY(0x00, 0x06, KEY_N)
|
||||
MATRIX_KEY(0x00, 0x08, KEY_EQUAL)
|
||||
MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT)
|
||||
@ -34,6 +35,7 @@
|
||||
MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE)
|
||||
MATRIX_KEY(0x01, 0x09, KEY_F9)
|
||||
MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE)
|
||||
MATRIX_KEY(0x01, 0x0c, KEY_HENKAN)
|
||||
|
||||
MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL)
|
||||
MATRIX_KEY(0x02, 0x01, KEY_TAB)
|
||||
@ -45,6 +47,7 @@
|
||||
MATRIX_KEY(0x02, 0x07, KEY_102ND)
|
||||
MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE)
|
||||
MATRIX_KEY(0x02, 0x09, KEY_F8)
|
||||
MATRIX_KEY(0x02, 0x0a, KEY_YEN)
|
||||
|
||||
MATRIX_KEY(0x03, 0x01, KEY_GRAVE)
|
||||
MATRIX_KEY(0x03, 0x02, KEY_F2)
|
||||
@ -53,6 +56,7 @@
|
||||
MATRIX_KEY(0x03, 0x06, KEY_6)
|
||||
MATRIX_KEY(0x03, 0x08, KEY_MINUS)
|
||||
MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH)
|
||||
MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN)
|
||||
|
||||
MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
|
||||
MATRIX_KEY(0x04, 0x01, KEY_A)
|
||||
|
@ -468,6 +468,7 @@
|
||||
interrupts = <36 37 38 39 40 41 42 43 44>;
|
||||
status = "disabled";
|
||||
clocks = <&clks 26>;
|
||||
#io-channel-cells = <1>;
|
||||
};
|
||||
|
||||
spdif@80054000 {
|
||||
|
@ -108,7 +108,7 @@
|
||||
};
|
||||
|
||||
gpt1: timer@10003000 {
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||
reg = <0x10003000 0x1000>;
|
||||
interrupts = <26>;
|
||||
clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
|
||||
@ -117,7 +117,7 @@
|
||||
};
|
||||
|
||||
gpt2: timer@10004000 {
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||
reg = <0x10004000 0x1000>;
|
||||
interrupts = <25>;
|
||||
clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>,
|
||||
@ -126,7 +126,7 @@
|
||||
};
|
||||
|
||||
gpt3: timer@10005000 {
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||
reg = <0x10005000 0x1000>;
|
||||
interrupts = <24>;
|
||||
clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>,
|
||||
@ -376,7 +376,7 @@
|
||||
};
|
||||
|
||||
gpt4: timer@10019000 {
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||
reg = <0x10019000 0x1000>;
|
||||
interrupts = <4>;
|
||||
clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>,
|
||||
@ -385,7 +385,7 @@
|
||||
};
|
||||
|
||||
gpt5: timer@1001a000 {
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||
reg = <0x1001a000 0x1000>;
|
||||
interrupts = <3>;
|
||||
clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>,
|
||||
@ -436,7 +436,7 @@
|
||||
};
|
||||
|
||||
gpt6: timer@1001f000 {
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||
reg = <0x1001f000 0x1000>;
|
||||
interrupts = <2>;
|
||||
clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>,
|
||||
|
@ -295,9 +295,10 @@
|
||||
&tve {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_vga_sync>;
|
||||
ddc-i2c-bus = <&i2c2>;
|
||||
fsl,tve-mode = "vga";
|
||||
fsl,hsync-pin = <4>;
|
||||
fsl,vsync-pin = <6>;
|
||||
fsl,hsync-pin = <7>; /* IPU DI1 PIN7 via EIM_OE */
|
||||
fsl,vsync-pin = <8>; /* IPU DI1 PIN8 via EIM_RW */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -86,7 +86,7 @@
|
||||
gpio,syscon-dev = <&devctrl 0x240>;
|
||||
};
|
||||
|
||||
pcie@21020000 {
|
||||
pcie1: pcie@21020000 {
|
||||
compatible = "ti,keystone-pcie","snps,dw-pcie";
|
||||
clocks = <&clkpcie1>;
|
||||
clock-names = "pcie";
|
||||
@ -96,6 +96,7 @@
|
||||
ranges = <0x81000000 0 0 0x23260000 0x4000 0x4000
|
||||
0x82000000 0 0x60000000 0x60000000 0 0x10000000>;
|
||||
|
||||
status = "disabled";
|
||||
device_type = "pci";
|
||||
num-lanes = <2>;
|
||||
|
||||
|
@ -286,7 +286,7 @@
|
||||
ti,syscon-dev = <&devctrl 0x2a0>;
|
||||
};
|
||||
|
||||
pcie@21800000 {
|
||||
pcie0: pcie@21800000 {
|
||||
compatible = "ti,keystone-pcie", "snps,dw-pcie";
|
||||
clocks = <&clkpcie>;
|
||||
clock-names = "pcie";
|
||||
@ -296,6 +296,7 @@
|
||||
ranges = <0x81000000 0 0 0x23250000 0 0x4000
|
||||
0x82000000 0 0x50000000 0x50000000 0 0x10000000>;
|
||||
|
||||
status = "disabled";
|
||||
device_type = "pci";
|
||||
num-lanes = <2>;
|
||||
|
||||
|
@ -120,7 +120,7 @@
|
||||
|
||||
lcd0: display@0 {
|
||||
compatible = "lgphilips,lb035q02";
|
||||
label = "lcd";
|
||||
label = "lcd35";
|
||||
|
||||
reg = <1>; /* CS1 */
|
||||
spi-max-frequency = <10000000>;
|
||||
|
@ -98,7 +98,7 @@
|
||||
|
||||
lcd0: display@0 {
|
||||
compatible = "samsung,lte430wq-f0c", "panel-dpi";
|
||||
label = "lcd";
|
||||
label = "lcd43";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <<e430_pins>;
|
||||
|
@ -551,6 +551,7 @@
|
||||
reg = <0x4a066000 0x100>;
|
||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "mmu_dsp";
|
||||
#iommu-cells = <0>;
|
||||
};
|
||||
|
||||
mmu_ipu: mmu@55082000 {
|
||||
@ -558,6 +559,7 @@
|
||||
reg = <0x55082000 0x100>;
|
||||
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "mmu_ipu";
|
||||
#iommu-cells = <0>;
|
||||
ti,iommu-bus-err-back;
|
||||
};
|
||||
|
||||
|
@ -612,6 +612,7 @@
|
||||
reg = <0x4a066000 0x100>;
|
||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "mmu_dsp";
|
||||
#iommu-cells = <0>;
|
||||
};
|
||||
|
||||
mmu_ipu: mmu@55082000 {
|
||||
@ -619,6 +620,7 @@
|
||||
reg = <0x55082000 0x100>;
|
||||
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "mmu_ipu";
|
||||
#iommu-cells = <0>;
|
||||
ti,iommu-bus-err-back;
|
||||
};
|
||||
|
||||
|
@ -60,6 +60,22 @@
|
||||
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 {
|
||||
vmmc-supply = <®ulator_3_3v>;
|
||||
vqmmc-supply = <®ulator_3_3v>;
|
||||
@ -68,19 +84,3 @@
|
||||
&usb1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c1{
|
||||
status = "okay";
|
||||
|
||||
accel1: accel1@53{
|
||||
compatible = "adxl34x";
|
||||
reg = <0x53>;
|
||||
|
||||
interrupt-parent = < &portc >;
|
||||
interrupts = <3 2>;
|
||||
};
|
||||
};
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* 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
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
|
@ -17,6 +17,13 @@
|
||||
model = "ST-Ericsson U8540 platform with Device Tree";
|
||||
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 {
|
||||
device_type = "memory";
|
||||
reg = <0x20000000 0x1f000000>, <0xc0000000 0x3f000000>;
|
||||
|
@ -16,6 +16,13 @@
|
||||
model = "ST-Ericsson CCU9540 platform with Device Tree";
|
||||
compatible = "st-ericsson,ccu9540", "st-ericsson,u9540";
|
||||
|
||||
/* This stablilizes the serial port enumeration */
|
||||
aliases {
|
||||
serial0 = &ux500_serial0;
|
||||
serial1 = &ux500_serial1;
|
||||
serial2 = &ux500_serial2;
|
||||
};
|
||||
|
||||
memory {
|
||||
reg = <0x00000000 0x20000000>;
|
||||
};
|
||||
|
@ -971,7 +971,7 @@
|
||||
power-domains = <&pm_domains DOMAIN_VAPE>;
|
||||
};
|
||||
|
||||
uart@80120000 {
|
||||
ux500_serial0: uart@80120000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
reg = <0x80120000 0x1000>;
|
||||
interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@ -986,7 +986,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart@80121000 {
|
||||
ux500_serial1: uart@80121000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
reg = <0x80121000 0x1000>;
|
||||
interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@ -1001,7 +1001,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart@80007000 {
|
||||
ux500_serial2: uart@80007000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
reg = <0x80007000 0x1000>;
|
||||
interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
@ -32,11 +32,11 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* This UART is unused and thus left disabled */
|
||||
uart@80121000 {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&uart1_default_mode>;
|
||||
pinctrl-1 = <&uart1_sleep_mode>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
uart@80007000 {
|
||||
|
@ -17,6 +17,13 @@
|
||||
model = "ST-Ericsson HREF (pre-v60) and ST UIB";
|
||||
compatible = "st-ericsson,mop500", "st-ericsson,u8500";
|
||||
|
||||
/* This stablilizes the serial port enumeration */
|
||||
aliases {
|
||||
serial0 = &ux500_serial0;
|
||||
serial1 = &ux500_serial1;
|
||||
serial2 = &ux500_serial2;
|
||||
};
|
||||
|
||||
soc {
|
||||
/* Reset line for the BU21013 touchscreen */
|
||||
i2c@80110000 {
|
||||
|
@ -16,4 +16,11 @@
|
||||
/ {
|
||||
model = "ST-Ericsson HREF (pre-v60) and TVK1281618 UIB";
|
||||
compatible = "st-ericsson,mop500", "st-ericsson,u8500";
|
||||
|
||||
/* This stablilizes the serial port enumeration */
|
||||
aliases {
|
||||
serial0 = &ux500_serial0;
|
||||
serial1 = &ux500_serial1;
|
||||
serial2 = &ux500_serial2;
|
||||
};
|
||||
};
|
||||
|
@ -23,6 +23,11 @@
|
||||
};
|
||||
|
||||
soc {
|
||||
/* Enable UART1 on this board */
|
||||
uart@80121000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
i2c@80004000 {
|
||||
tps61052@33 {
|
||||
compatible = "tps61052";
|
||||
|
@ -19,6 +19,13 @@
|
||||
model = "ST-Ericsson HREF (v60+) and ST UIB";
|
||||
compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
|
||||
|
||||
/* This stablilizes the serial port enumeration */
|
||||
aliases {
|
||||
serial0 = &ux500_serial0;
|
||||
serial1 = &ux500_serial1;
|
||||
serial2 = &ux500_serial2;
|
||||
};
|
||||
|
||||
soc {
|
||||
/* Reset line for the BU21013 touchscreen */
|
||||
i2c@80110000 {
|
||||
|
@ -18,4 +18,11 @@
|
||||
/ {
|
||||
model = "ST-Ericsson HREF (v60+) and TVK1281618 UIB";
|
||||
compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
|
||||
|
||||
/* This stablilizes the serial port enumeration */
|
||||
aliases {
|
||||
serial0 = &ux500_serial0;
|
||||
serial1 = &ux500_serial1;
|
||||
serial2 = &ux500_serial2;
|
||||
};
|
||||
};
|
||||
|
@ -43,15 +43,26 @@
|
||||
<&vaudio_hf_hrefv60_mode>,
|
||||
<&gbf_hrefv60_mode>,
|
||||
<&hdtv_hrefv60_mode>,
|
||||
<&touch_hrefv60_mode>;
|
||||
<&touch_hrefv60_mode>,
|
||||
<&gpios_hrefv60_mode>;
|
||||
|
||||
sdi0 {
|
||||
/* SD card detect GPIO pin, extend default state */
|
||||
sdi0_default_mode: sdi0_default {
|
||||
/* SD card detect GPIO pin, extend default state */
|
||||
default_hrefv60_cfg1 {
|
||||
pins = "GPIO95_E8";
|
||||
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 {
|
||||
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -18,6 +18,13 @@
|
||||
model = "Calao Systems Snowball platform with device tree";
|
||||
compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
|
||||
|
||||
/* This stablilizes the serial port enumeration */
|
||||
aliases {
|
||||
serial0 = &ux500_serial0;
|
||||
serial1 = &ux500_serial1;
|
||||
serial2 = &ux500_serial2;
|
||||
};
|
||||
|
||||
memory {
|
||||
reg = <0x00000000 0x20000000>;
|
||||
};
|
||||
@ -223,11 +230,11 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* This UART is unused and thus left disabled */
|
||||
uart@80121000 {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&uart1_default_mode>;
|
||||
pinctrl-1 = <&uart1_sleep_mode>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
uart@80007000 {
|
||||
@ -452,7 +459,21 @@
|
||||
pins = "GPIO21_AB3"; /* DAT31DIR */
|
||||
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 {
|
||||
|
@ -13,6 +13,7 @@ generic-y += kdebug.h
|
||||
generic-y += local.h
|
||||
generic-y += local64.h
|
||||
generic-y += mcs_spinlock.h
|
||||
generic-y += mm-arch-hooks.h
|
||||
generic-y += msgbuf.h
|
||||
generic-y += param.h
|
||||
generic-y += parport.h
|
||||
|
@ -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)
|
||||
{
|
||||
if (arch_virt_to_idmap)
|
||||
if (IS_ENABLED(CONFIG_MMU) && arch_virt_to_idmap)
|
||||
return arch_virt_to_idmap(x);
|
||||
else
|
||||
return __virt_to_phys(x);
|
||||
|
@ -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 */
|
@ -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))
|
||||
break;
|
||||
|
||||
of_node_put(dn);
|
||||
if (cpu >= nr_cpu_ids) {
|
||||
pr_warn("Failed to find logical CPU for %s\n",
|
||||
dn->name);
|
||||
of_node_put(dn);
|
||||
break;
|
||||
}
|
||||
of_node_put(dn);
|
||||
|
||||
irqs[i] = cpu;
|
||||
cpumask_set_cpu(cpu, &pmu->supported_cpus);
|
||||
|
@ -50,7 +50,7 @@ static void __soft_restart(void *addr)
|
||||
flush_cache_all();
|
||||
|
||||
/* 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);
|
||||
|
||||
/* Should never get here. */
|
||||
|
@ -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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
struct clk *clk;
|
||||
bool is_off;
|
||||
int i;
|
||||
|
||||
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;
|
||||
|
||||
is_off = IS_ENABLED(CONFIG_PM);
|
||||
if (is_off) {
|
||||
_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);
|
||||
}
|
||||
/* Enable power always in case 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,
|
||||
&imx_gpc_onecell_data);
|
||||
|
||||
@ -437,13 +429,6 @@ clk_err:
|
||||
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)
|
||||
{
|
||||
struct regulator *pu_reg;
|
||||
|
@ -60,6 +60,7 @@ config SOC_AM43XX
|
||||
select ARM_GIC
|
||||
select MACH_OMAP_GENERIC
|
||||
select MIGHT_HAVE_CACHE_L2X0
|
||||
select HAVE_ARM_SCU
|
||||
|
||||
config SOC_DRA7XX
|
||||
bool "TI DRA7XX"
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include <linux/ata_platform.h>
|
||||
#include <linux/serial_8250.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/regulator/machine.h>
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
@ -144,6 +145,8 @@ static void __init capc7117_init(void)
|
||||
|
||||
capc7117_uarts_init();
|
||||
capc7117_ide_init();
|
||||
|
||||
regulator_has_full_constraints();
|
||||
}
|
||||
|
||||
MACHINE_START(CAPC7117,
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include <linux/syscore_ops.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/regulator/machine.h>
|
||||
|
||||
#include <linux/dm9000.h>
|
||||
#include <linux/leds.h>
|
||||
@ -466,6 +467,8 @@ static void __init cmx2xx_init(void)
|
||||
cmx2xx_init_ac97();
|
||||
cmx2xx_init_touchscreen();
|
||||
cmx2xx_init_leds();
|
||||
|
||||
regulator_has_full_constraints();
|
||||
}
|
||||
|
||||
static void __init cmx2xx_init_irq(void)
|
||||
|
@ -835,6 +835,8 @@ static void __init cm_x300_init(void)
|
||||
cm_x300_init_ac97();
|
||||
cm_x300_init_wi2wi();
|
||||
cm_x300_init_bl();
|
||||
|
||||
regulator_has_full_constraints();
|
||||
}
|
||||
|
||||
static void __init cm_x300_fixup(struct tag *tags, char **cmdline)
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include <linux/mtd/partitions.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/regulator/machine.h>
|
||||
#include <linux/ucb1400.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",
|
||||
colibri_pxa270_baseboard);
|
||||
}
|
||||
|
||||
regulator_has_full_constraints();
|
||||
}
|
||||
|
||||
/* The "Income s.r.o. SH-Dmaster PXA270 SBC" board can be booted either
|
||||
|
@ -1306,6 +1306,8 @@ static void __init em_x270_init(void)
|
||||
em_x270_init_i2c();
|
||||
em_x270_init_camera();
|
||||
em_x270_userspace_consumers_init();
|
||||
|
||||
regulator_has_full_constraints();
|
||||
}
|
||||
|
||||
MACHINE_START(EM_X270, "Compulab EM-X270")
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/spi/pxa2xx_spi.h>
|
||||
#include <linux/can/platform/mcp251x.h>
|
||||
#include <linux/regulator/machine.h>
|
||||
|
||||
#include "generic.h"
|
||||
|
||||
@ -185,6 +186,8 @@ static void __init icontrol_init(void)
|
||||
mxm_8x10_mmc_init();
|
||||
|
||||
icontrol_can_init();
|
||||
|
||||
regulator_has_full_constraints();
|
||||
}
|
||||
|
||||
MACHINE_START(ICONTROL, "iControl/SafeTcam boards using Embedian MXM-8x10 CoM")
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include <linux/dm9000.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <linux/mtd/partitions.h>
|
||||
#include <linux/regulator/machine.h>
|
||||
#include <linux/i2c/pxa-i2c.h>
|
||||
|
||||
#include <asm/types.h>
|
||||
@ -534,6 +535,8 @@ static void __init trizeps4_init(void)
|
||||
|
||||
BCR_writew(trizeps_conxs_bcr);
|
||||
board_backlight_power(1);
|
||||
|
||||
regulator_has_full_constraints();
|
||||
}
|
||||
|
||||
static void __init trizeps4_map_io(void)
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include <linux/dm9000.h>
|
||||
#include <linux/ucb1400.h>
|
||||
#include <linux/ata_platform.h>
|
||||
#include <linux/regulator/machine.h>
|
||||
#include <linux/regulator/max1586.h>
|
||||
#include <linux/i2c/pxa-i2c.h>
|
||||
|
||||
@ -711,6 +712,8 @@ static void __init vpac270_init(void)
|
||||
vpac270_ts_init();
|
||||
vpac270_rtc_init();
|
||||
vpac270_ide_init();
|
||||
|
||||
regulator_has_full_constraints();
|
||||
}
|
||||
|
||||
MACHINE_START(VPAC270, "Voipac PXA270")
|
||||
|
@ -868,6 +868,8 @@ static void __init zeus_init(void)
|
||||
i2c_register_board_info(0, ARRAY_AND_SIZE(zeus_i2c_devices));
|
||||
pxa2xx_set_spi_info(3, &pxa2xx_spi_ssp3_master_info);
|
||||
spi_register_board_info(zeus_spi_board_info, ARRAY_SIZE(zeus_spi_board_info));
|
||||
|
||||
regulator_has_full_constraints();
|
||||
}
|
||||
|
||||
static struct map_desc zeus_io_desc[] __initdata = {
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Copyright (C) 2009-2012 ST Microelectronics
|
||||
* Rajeev Kumar <rajeev-dlh.kumar@st.com>
|
||||
* Viresh Kumar <viresh.linux@gmail.com>
|
||||
* Viresh Kumar <vireshk@kernel.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Copyright (C) 2009-2012 ST Microelectronics
|
||||
* Rajeev Kumar <rajeev-dlh.kumar@st.com>
|
||||
* Viresh Kumar <viresh.linux@gmail.com>
|
||||
* Viresh Kumar <vireshk@kernel.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Miscellaneous registers definitions for SPEAr3xx machine family
|
||||
*
|
||||
* Copyright (C) 2009 ST Microelectronics
|
||||
* Viresh Kumar <viresh.linux@gmail.com>
|
||||
* Viresh Kumar <vireshk@kernel.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Copyright (C) 2009,2012 ST Microelectronics
|
||||
* Rajeev Kumar<rajeev-dlh.kumar@st.com>
|
||||
* Viresh Kumar <viresh.linux@gmail.com>
|
||||
* Viresh Kumar <vireshk@kernel.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Serial port stubs for kernel decompress status messages
|
||||
*
|
||||
* Copyright (C) 2009 ST Microelectronics
|
||||
* Viresh Kumar <viresh.linux@gmail.com>
|
||||
* Viresh Kumar <vireshk@kernel.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
|
@ -4,7 +4,7 @@
|
||||
* DMAC pl080 definitions for SPEAr platform
|
||||
*
|
||||
* Copyright (C) 2012 ST Microelectronics
|
||||
* Viresh Kumar <viresh.linux@gmail.com>
|
||||
* Viresh Kumar <vireshk@kernel.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
|
@ -4,7 +4,7 @@
|
||||
* DMAC pl080 definitions for SPEAr platform
|
||||
*
|
||||
* Copyright (C) 2012 ST Microelectronics
|
||||
* Viresh Kumar <viresh.linux@gmail.com>
|
||||
* Viresh Kumar <vireshk@kernel.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
|
@ -4,7 +4,7 @@
|
||||
* SPEAr platform specific restart functions
|
||||
*
|
||||
* Copyright (C) 2009 ST Microelectronics
|
||||
* Viresh Kumar <viresh.linux@gmail.com>
|
||||
* Viresh Kumar <vireshk@kernel.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
|
@ -4,7 +4,7 @@
|
||||
* SPEAr1310 machine source file
|
||||
*
|
||||
* Copyright (C) 2012 ST Microelectronics
|
||||
* Viresh Kumar <viresh.linux@gmail.com>
|
||||
* Viresh Kumar <vireshk@kernel.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
|
@ -4,7 +4,7 @@
|
||||
* SPEAr1340 machine source file
|
||||
*
|
||||
* Copyright (C) 2012 ST Microelectronics
|
||||
* Viresh Kumar <viresh.linux@gmail.com>
|
||||
* Viresh Kumar <vireshk@kernel.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
|
@ -4,7 +4,7 @@
|
||||
* SPEAr13XX machines common source file
|
||||
*
|
||||
* Copyright (C) 2012 ST Microelectronics
|
||||
* Viresh Kumar <viresh.linux@gmail.com>
|
||||
* Viresh Kumar <vireshk@kernel.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
|
@ -4,7 +4,7 @@
|
||||
* SPEAr300 machine source file
|
||||
*
|
||||
* Copyright (C) 2009-2012 ST Microelectronics
|
||||
* Viresh Kumar <viresh.linux@gmail.com>
|
||||
* Viresh Kumar <vireshk@kernel.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
|
@ -4,7 +4,7 @@
|
||||
* SPEAr310 machine source file
|
||||
*
|
||||
* Copyright (C) 2009-2012 ST Microelectronics
|
||||
* Viresh Kumar <viresh.linux@gmail.com>
|
||||
* Viresh Kumar <vireshk@kernel.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
|
@ -4,7 +4,7 @@
|
||||
* SPEAr320 machine source file
|
||||
*
|
||||
* Copyright (C) 2009-2012 ST Microelectronics
|
||||
* Viresh Kumar <viresh.linux@gmail.com>
|
||||
* Viresh Kumar <vireshk@kernel.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
|
@ -4,7 +4,7 @@
|
||||
* SPEAr3XX machines common source file
|
||||
*
|
||||
* Copyright (C) 2009-2012 ST Microelectronics
|
||||
* Viresh Kumar <viresh.linux@gmail.com>
|
||||
* Viresh Kumar <vireshk@kernel.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
|
@ -1971,7 +1971,7 @@ static int extend_iommu_mapping(struct dma_iommu_mapping *mapping)
|
||||
{
|
||||
int next_bitmap;
|
||||
|
||||
if (mapping->nr_bitmaps > mapping->extensions)
|
||||
if (mapping->nr_bitmaps >= mapping->extensions)
|
||||
return -EINVAL;
|
||||
|
||||
next_bitmap = mapping->nr_bitmaps;
|
||||
|
@ -274,7 +274,10 @@ __v7_ca15mp_setup:
|
||||
__v7_b15mp_setup:
|
||||
__v7_ca17mp_setup:
|
||||
mov r10, #0
|
||||
1:
|
||||
1: adr r12, __v7_setup_stack @ the local stack
|
||||
stmia r12, {r0-r5, lr} @ v7_invalidate_l1 touches r0-r6
|
||||
bl v7_invalidate_l1
|
||||
ldmia r12, {r0-r5, lr}
|
||||
#ifdef CONFIG_SMP
|
||||
ALT_SMP(mrc p15, 0, r0, c1, c0, 1)
|
||||
ALT_UP(mov r0, #(1 << 6)) @ fake it for UP
|
||||
@ -283,7 +286,7 @@ __v7_ca17mp_setup:
|
||||
orreq r0, r0, r10 @ Enable CPU-specific SMP bits
|
||||
mcreq p15, 0, r0, c1, c0, 1
|
||||
#endif
|
||||
b __v7_setup
|
||||
b __v7_setup_cont
|
||||
|
||||
/*
|
||||
* Errata:
|
||||
@ -413,10 +416,11 @@ __v7_pj4b_setup:
|
||||
|
||||
__v7_setup:
|
||||
adr r12, __v7_setup_stack @ the local stack
|
||||
stmia r12, {r0-r5, r7, r9, r11, lr}
|
||||
stmia r12, {r0-r5, lr} @ v7_invalidate_l1 touches r0-r6
|
||||
bl v7_invalidate_l1
|
||||
ldmia r12, {r0-r5, r7, r9, r11, lr}
|
||||
ldmia r12, {r0-r5, lr}
|
||||
|
||||
__v7_setup_cont:
|
||||
and r0, r9, #0xff000000 @ ARM?
|
||||
teq r0, #0x41000000
|
||||
bne __errata_finish
|
||||
@ -480,7 +484,7 @@ ENDPROC(__v7_setup)
|
||||
|
||||
.align 2
|
||||
__v7_setup_stack:
|
||||
.space 4 * 11 @ 11 registers
|
||||
.space 4 * 7 @ 12 registers
|
||||
|
||||
__INITDATA
|
||||
|
||||
|
@ -74,32 +74,52 @@ struct jit_ctx {
|
||||
|
||||
int bpf_jit_enable __read_mostly;
|
||||
|
||||
static u64 jit_get_skb_b(struct sk_buff *skb, unsigned offset)
|
||||
static inline int call_neg_helper(struct sk_buff *skb, int offset, void *ret,
|
||||
unsigned int size)
|
||||
{
|
||||
void *ptr = bpf_internal_load_pointer_neg_helper(skb, offset, size);
|
||||
|
||||
if (!ptr)
|
||||
return -EFAULT;
|
||||
memcpy(ret, ptr, size);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static u64 jit_get_skb_b(struct sk_buff *skb, int offset)
|
||||
{
|
||||
u8 ret;
|
||||
int err;
|
||||
|
||||
err = skb_copy_bits(skb, offset, &ret, 1);
|
||||
if (offset < 0)
|
||||
err = call_neg_helper(skb, offset, &ret, 1);
|
||||
else
|
||||
err = skb_copy_bits(skb, offset, &ret, 1);
|
||||
|
||||
return (u64)err << 32 | ret;
|
||||
}
|
||||
|
||||
static u64 jit_get_skb_h(struct sk_buff *skb, unsigned offset)
|
||||
static u64 jit_get_skb_h(struct sk_buff *skb, int offset)
|
||||
{
|
||||
u16 ret;
|
||||
int err;
|
||||
|
||||
err = skb_copy_bits(skb, offset, &ret, 2);
|
||||
if (offset < 0)
|
||||
err = call_neg_helper(skb, offset, &ret, 2);
|
||||
else
|
||||
err = skb_copy_bits(skb, offset, &ret, 2);
|
||||
|
||||
return (u64)err << 32 | ntohs(ret);
|
||||
}
|
||||
|
||||
static u64 jit_get_skb_w(struct sk_buff *skb, unsigned offset)
|
||||
static u64 jit_get_skb_w(struct sk_buff *skb, int offset)
|
||||
{
|
||||
u32 ret;
|
||||
int err;
|
||||
|
||||
err = skb_copy_bits(skb, offset, &ret, 4);
|
||||
if (offset < 0)
|
||||
err = call_neg_helper(skb, offset, &ret, 4);
|
||||
else
|
||||
err = skb_copy_bits(skb, offset, &ret, 4);
|
||||
|
||||
return (u64)err << 32 | ntohl(ret);
|
||||
}
|
||||
@ -536,9 +556,6 @@ static int build_body(struct jit_ctx *ctx)
|
||||
case BPF_LD | BPF_B | BPF_ABS:
|
||||
load_order = 0;
|
||||
load:
|
||||
/* the interpreter will deal with the negative K */
|
||||
if ((int)k < 0)
|
||||
return -ENOTSUPP;
|
||||
emit_mov_i(r_off, k, ctx);
|
||||
load_common:
|
||||
ctx->seen |= SEEN_DATA | SEEN_CALL;
|
||||
@ -547,12 +564,24 @@ load_common:
|
||||
emit(ARM_SUB_I(r_scratch, r_skb_hl,
|
||||
1 << load_order), ctx);
|
||||
emit(ARM_CMP_R(r_scratch, r_off), ctx);
|
||||
condt = ARM_COND_HS;
|
||||
condt = ARM_COND_GE;
|
||||
} else {
|
||||
emit(ARM_CMP_R(r_skb_hl, r_off), ctx);
|
||||
condt = ARM_COND_HI;
|
||||
}
|
||||
|
||||
/*
|
||||
* test for negative offset, only if we are
|
||||
* currently scheduled to take the fast
|
||||
* path. this will update the flags so that
|
||||
* the slowpath instruction are ignored if the
|
||||
* offset is negative.
|
||||
*
|
||||
* for loard_order == 0 the HI condition will
|
||||
* make loads at offset 0 take the slow path too.
|
||||
*/
|
||||
_emit(condt, ARM_CMP_I(r_off, 0), ctx);
|
||||
|
||||
_emit(condt, ARM_ADD_R(r_scratch, r_off, r_skb_data),
|
||||
ctx);
|
||||
|
||||
@ -860,9 +889,11 @@ b_epilogue:
|
||||
off = offsetof(struct sk_buff, vlan_tci);
|
||||
emit(ARM_LDRH_I(r_A, r_skb, off), ctx);
|
||||
if (code == (BPF_ANC | SKF_AD_VLAN_TAG))
|
||||
OP_IMM3(ARM_AND, r_A, r_A, VLAN_VID_MASK, ctx);
|
||||
else
|
||||
OP_IMM3(ARM_AND, r_A, r_A, VLAN_TAG_PRESENT, ctx);
|
||||
OP_IMM3(ARM_AND, r_A, r_A, ~VLAN_TAG_PRESENT, ctx);
|
||||
else {
|
||||
OP_IMM3(ARM_LSR, r_A, r_A, 12, ctx);
|
||||
OP_IMM3(ARM_AND, r_A, r_A, 0x1, ctx);
|
||||
}
|
||||
break;
|
||||
case BPF_ANC | SKF_AD_QUEUE:
|
||||
ctx->seen |= SEEN_SKB;
|
||||
|
@ -25,6 +25,7 @@ generic-y += kvm_para.h
|
||||
generic-y += local.h
|
||||
generic-y += local64.h
|
||||
generic-y += mcs_spinlock.h
|
||||
generic-y += mm-arch-hooks.h
|
||||
generic-y += mman.h
|
||||
generic-y += msgbuf.h
|
||||
generic-y += msi.h
|
||||
|
@ -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_ARM64_MM_ARCH_HOOKS_H
|
||||
#define _ASM_ARM64_MM_ARCH_HOOKS_H
|
||||
|
||||
#endif /* _ASM_ARM64_MM_ARCH_HOOKS_H */
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user