mirror of https://gitee.com/openkylin/linux.git
Merge branch 'for-rmk/virt/hyp-boot/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into fixes
This commit is contained in:
commit
210b1847b3
|
@ -116,7 +116,7 @@ my_suspend (struct pci_dev * pci_dev,
|
|||
return 0; /* a negative value on error, 0 on success. */
|
||||
}
|
||||
|
||||
static void __devexit
|
||||
static void
|
||||
my_remove (struct pci_dev * pci_dev)
|
||||
{
|
||||
my_device *my = pci_get_drvdata (pci_dev);
|
||||
|
@ -124,7 +124,7 @@ my_remove (struct pci_dev * pci_dev)
|
|||
/* Describe me. */
|
||||
}
|
||||
|
||||
static int __devinit
|
||||
static int
|
||||
my_probe (struct pci_dev * pci_dev,
|
||||
const struct pci_device_id * pci_id)
|
||||
{
|
||||
|
@ -157,7 +157,7 @@ my_pci_driver = {
|
|||
.id_table = my_pci_device_ids,
|
||||
|
||||
.probe = my_probe,
|
||||
.remove = __devexit_p (my_remove),
|
||||
.remove = my_remove,
|
||||
|
||||
/* Power management functions. */
|
||||
.suspend = my_suspend,
|
||||
|
|
|
@ -76,7 +76,7 @@ To notify SR-IOV core of Virtual Function Migration:
|
|||
|
||||
Following piece of code illustrates the usage of the SR-IOV API.
|
||||
|
||||
static int __devinit dev_probe(struct pci_dev *dev, const struct pci_device_id *id)
|
||||
static int dev_probe(struct pci_dev *dev, const struct pci_device_id *id)
|
||||
{
|
||||
pci_enable_sriov(dev, NR_VIRTFN);
|
||||
|
||||
|
@ -85,7 +85,7 @@ static int __devinit dev_probe(struct pci_dev *dev, const struct pci_device_id *
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void __devexit dev_remove(struct pci_dev *dev)
|
||||
static void dev_remove(struct pci_dev *dev)
|
||||
{
|
||||
pci_disable_sriov(dev);
|
||||
|
||||
|
@ -131,7 +131,7 @@ static struct pci_driver dev_driver = {
|
|||
.name = "SR-IOV Physical Function driver",
|
||||
.id_table = dev_id_table,
|
||||
.probe = dev_probe,
|
||||
.remove = __devexit_p(dev_remove),
|
||||
.remove = dev_remove,
|
||||
.suspend = dev_suspend,
|
||||
.resume = dev_resume,
|
||||
.shutdown = dev_shutdown,
|
||||
|
|
|
@ -183,12 +183,6 @@ Please mark the initialization and cleanup functions where appropriate
|
|||
initializes.
|
||||
__exit Exit code. Ignored for non-modular drivers.
|
||||
|
||||
|
||||
__devinit Device initialization code.
|
||||
Identical to __init if the kernel is not compiled
|
||||
with CONFIG_HOTPLUG, normal function otherwise.
|
||||
__devexit The same for __exit.
|
||||
|
||||
Tips on when/where to use the above attributes:
|
||||
o The module_init()/module_exit() functions (and all
|
||||
initialization functions called _only_ from these)
|
||||
|
@ -196,20 +190,6 @@ Tips on when/where to use the above attributes:
|
|||
|
||||
o Do not mark the struct pci_driver.
|
||||
|
||||
o The ID table array should be marked __devinitconst; this is done
|
||||
automatically if the table is declared with DEFINE_PCI_DEVICE_TABLE().
|
||||
|
||||
o The probe() and remove() functions should be marked __devinit
|
||||
and __devexit respectively. All initialization functions
|
||||
exclusively called by the probe() routine, can be marked __devinit.
|
||||
Ditto for remove() and __devexit.
|
||||
|
||||
o If mydriver_remove() is marked with __devexit(), then all address
|
||||
references to mydriver_remove must use __devexit_p(mydriver_remove)
|
||||
(in the struct pci_driver declaration for example).
|
||||
__devexit_p() will generate the function name _or_ NULL if the
|
||||
function will be discarded. For an example, see drivers/net/tg3.c.
|
||||
|
||||
o Do NOT mark a function if you are not sure which mark to use.
|
||||
Better to not mark the function than mark the function wrong.
|
||||
|
||||
|
|
|
@ -185,7 +185,7 @@ input driver:
|
|||
.acpi_match_table ACPI_PTR(mpu3050_acpi_match),
|
||||
},
|
||||
.probe = mpu3050_probe,
|
||||
.remove = __devexit_p(mpu3050_remove),
|
||||
.remove = mpu3050_remove,
|
||||
.id_table = mpu3050_ids,
|
||||
};
|
||||
|
||||
|
|
|
@ -60,11 +60,6 @@ clks: clkctrl@80040000 {
|
|||
compatible = "fsl,imx23-clkctrl";
|
||||
reg = <0x80040000 0x2000>;
|
||||
#clock-cells = <1>;
|
||||
clock-output-names =
|
||||
...
|
||||
"uart", /* 32 */
|
||||
...
|
||||
"end_of_list";
|
||||
};
|
||||
|
||||
auart0: serial@8006c000 {
|
||||
|
|
|
@ -146,10 +146,6 @@ clks: ccm@53f80000 {
|
|||
compatible = "fsl,imx25-ccm";
|
||||
reg = <0x53f80000 0x4000>;
|
||||
interrupts = <31>;
|
||||
clock-output-names = ...
|
||||
"uart_ipg",
|
||||
"uart_serial",
|
||||
...;
|
||||
};
|
||||
|
||||
uart1: serial@43f90000 {
|
||||
|
|
|
@ -83,11 +83,6 @@ clks: clkctrl@80040000 {
|
|||
compatible = "fsl,imx28-clkctrl";
|
||||
reg = <0x80040000 0x2000>;
|
||||
#clock-cells = <1>;
|
||||
clock-output-names =
|
||||
...
|
||||
"uart", /* 45 */
|
||||
...
|
||||
"end_of_list";
|
||||
};
|
||||
|
||||
auart0: serial@8006a000 {
|
||||
|
|
|
@ -211,10 +211,6 @@ clks: ccm@020c4000 {
|
|||
reg = <0x020c4000 0x4000>;
|
||||
interrupts = <0 87 0x04 0 88 0x04>;
|
||||
#clock-cells = <1>;
|
||||
clock-output-names = ...
|
||||
"uart_ipg",
|
||||
"uart_serial",
|
||||
...;
|
||||
};
|
||||
|
||||
uart1: serial@02020000 {
|
||||
|
|
|
@ -1,4 +1,19 @@
|
|||
GPIO line that should be set high/low to power off a device
|
||||
Driver a GPIO line that can be used to turn the power off.
|
||||
|
||||
The driver supports both level triggered and edge triggered power off.
|
||||
At driver load time, the driver will request the given gpio line and
|
||||
install a pm_power_off handler. If the optional properties 'input' is
|
||||
not found, the GPIO line will be driven in the inactive
|
||||
state. Otherwise its configured as an input.
|
||||
|
||||
When the pm_power_off is called, the gpio is configured as an output,
|
||||
and drive active, so triggering a level triggered power off
|
||||
condition. This will also cause an inactive->active edge condition, so
|
||||
triggering positive edge triggered power off. After a delay of 100ms,
|
||||
the GPIO is set to inactive, thus causing an active->inactive edge,
|
||||
triggering negative edge triggered power off. After another 100ms
|
||||
delay the GPIO is driver active again. If the power is still on and
|
||||
the CPU still running after a 3000ms delay, a WARN_ON(1) is emitted.
|
||||
|
||||
Required properties:
|
||||
- compatible : should be "gpio-poweroff".
|
||||
|
@ -13,10 +28,9 @@ Optional properties:
|
|||
property is not specified, the GPIO is initialized as an output in its
|
||||
inactive state.
|
||||
|
||||
|
||||
Examples:
|
||||
|
||||
gpio-poweroff {
|
||||
compatible = "gpio-poweroff";
|
||||
gpios = <&gpio 4 0>; /* GPIO 4 Active Low */
|
||||
gpios = <&gpio 4 0>;
|
||||
};
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
CSR SiRFprimaII pinmux controller
|
||||
|
||||
Required properties:
|
||||
- compatible : "sirf,prima2-pinctrl"
|
||||
- reg : Address range of the pinctrl registers
|
||||
- interrupts : Interrupts used by every GPIO group
|
||||
- gpio-controller : Indicates this device is a GPIO controller
|
||||
- interrupt-controller : Marks the device node as an interrupt controller
|
||||
Optional properties:
|
||||
- sirf,pullups : if n-th bit of m-th bank is set, set a pullup on GPIO-n of bank m
|
||||
- sirf,pulldowns : if n-th bit of m-th bank is set, set a pulldown on GPIO-n of bank m
|
||||
|
||||
Please refer to pinctrl-bindings.txt in this directory for details of the common
|
||||
pinctrl bindings used by client devices.
|
||||
|
||||
SiRFprimaII's pinmux nodes act as a container for an abitrary number of subnodes.
|
||||
Each of these subnodes represents some desired configuration for a group of pins.
|
||||
|
||||
Required subnode-properties:
|
||||
- sirf,pins : An array of strings. Each string contains the name of a group.
|
||||
- sirf,function: A string containing the name of the function to mux to the
|
||||
group.
|
||||
|
||||
Valid values for group and function names can be found from looking at the
|
||||
group and function arrays in driver files:
|
||||
drivers/pinctrl/pinctrl-sirf.c
|
||||
|
||||
For example, pinctrl might have subnodes like the following:
|
||||
uart2_pins_a: uart2@0 {
|
||||
uart {
|
||||
sirf,pins = "uart2grp";
|
||||
sirf,function = "uart2";
|
||||
};
|
||||
};
|
||||
uart2_noflow_pins_a: uart2@1 {
|
||||
uart {
|
||||
sirf,pins = "uart2_nostreamctrlgrp";
|
||||
sirf,function = "uart2_nostreamctrl";
|
||||
};
|
||||
};
|
||||
|
||||
For a specific board, if it wants to use uart2 without hardware flow control,
|
||||
it can add the following to its board-specific .dts file.
|
||||
uart2: uart@0xb0070000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart2_noflow_pins_a>;
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
Device tree bindings for twl4030-wdt driver (TWL4030 watchdog)
|
||||
|
||||
Required properties:
|
||||
compatible = "ti,twl4030-wdt";
|
||||
|
||||
Example:
|
||||
|
||||
watchdog {
|
||||
compatible = "ti,twl4030-wdt";
|
||||
};
|
|
@ -91,7 +91,7 @@ Example (from the nxp OHCI driver):
|
|||
|
||||
static const unsigned short normal_i2c[] = { 0x2c, 0x2d, I2C_CLIENT_END };
|
||||
|
||||
static int __devinit usb_hcd_nxp_probe(struct platform_device *pdev)
|
||||
static int usb_hcd_nxp_probe(struct platform_device *pdev)
|
||||
{
|
||||
(...)
|
||||
struct i2c_adapter *i2c_adap;
|
||||
|
|
|
@ -36,7 +36,7 @@ neigh/default/unres_qlen_bytes - INTEGER
|
|||
The maximum number of bytes which may be used by packets
|
||||
queued for each unresolved address by other network layers.
|
||||
(added in linux 3.3)
|
||||
Seting negative value is meaningless and will retrun error.
|
||||
Setting negative value is meaningless and will return error.
|
||||
Default: 65536 Bytes(64KB)
|
||||
|
||||
neigh/default/unres_qlen - INTEGER
|
||||
|
@ -215,7 +215,7 @@ tcp_ecn - INTEGER
|
|||
Possible values are:
|
||||
0 Disable ECN. Neither initiate nor accept ECN.
|
||||
1 Always request ECN on outgoing connection attempts.
|
||||
2 Enable ECN when requested by incomming connections
|
||||
2 Enable ECN when requested by incoming connections
|
||||
but do not request ECN on outgoing connections.
|
||||
Default: 2
|
||||
|
||||
|
@ -503,7 +503,7 @@ tcp_fastopen - INTEGER
|
|||
tcp_syn_retries - INTEGER
|
||||
Number of times initial SYNs for an active TCP connection attempt
|
||||
will be retransmitted. Should not be higher than 255. Default value
|
||||
is 6, which corresponds to 63seconds till the last restransmission
|
||||
is 6, which corresponds to 63seconds till the last retransmission
|
||||
with the current initial RTO of 1second. With this the final timeout
|
||||
for an active TCP connection attempt will happen after 127seconds.
|
||||
|
||||
|
@ -1331,6 +1331,12 @@ force_tllao - BOOLEAN
|
|||
race condition where the sender deletes the cached link-layer address
|
||||
prior to receiving a response to a previous solicitation."
|
||||
|
||||
ndisc_notify - BOOLEAN
|
||||
Define mode for notification of address and device changes.
|
||||
0 - (default): do nothing
|
||||
1 - Generate unsolicited neighbour advertisements when device is brought
|
||||
up or hardware address changes.
|
||||
|
||||
icmp/*:
|
||||
ratelimit - INTEGER
|
||||
Limit the maximal rates for sending ICMPv6 packets.
|
||||
|
@ -1530,7 +1536,7 @@ cookie_hmac_alg - STRING
|
|||
* sha1
|
||||
* none
|
||||
Ability to assign md5 or sha1 as the selected alg is predicated on the
|
||||
configuarion of those algorithms at build time (CONFIG_CRYPTO_MD5 and
|
||||
configuration of those algorithms at build time (CONFIG_CRYPTO_MD5 and
|
||||
CONFIG_CRYPTO_SHA1).
|
||||
|
||||
Default: Dependent on configuration. MD5 if available, else SHA1 if
|
||||
|
@ -1548,7 +1554,7 @@ rcvbuf_policy - INTEGER
|
|||
blocking.
|
||||
|
||||
1: rcvbuf space is per association
|
||||
0: recbuf space is per socket
|
||||
0: rcvbuf space is per socket
|
||||
|
||||
Default: 0
|
||||
|
||||
|
|
|
@ -642,12 +642,13 @@ out the following operations:
|
|||
* During system suspend it calls pm_runtime_get_noresume() and
|
||||
pm_runtime_barrier() for every device right before executing the
|
||||
subsystem-level .suspend() callback for it. In addition to that it calls
|
||||
pm_runtime_disable() for every device right after executing the
|
||||
subsystem-level .suspend() callback for it.
|
||||
__pm_runtime_disable() with 'false' as the second argument for every device
|
||||
right before executing the subsystem-level .suspend_late() callback for it.
|
||||
|
||||
* During system resume it calls pm_runtime_enable() and pm_runtime_put_sync()
|
||||
for every device right before and right after executing the subsystem-level
|
||||
.resume() callback for it, respectively.
|
||||
for every device right after executing the subsystem-level .resume_early()
|
||||
callback and right after executing the subsystem-level .resume() callback
|
||||
for it, respectively.
|
||||
|
||||
7. Generic subsystem callbacks
|
||||
|
||||
|
|
|
@ -236,7 +236,7 @@ static int rpmsg_sample_probe(struct rpmsg_channel *rpdev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void __devexit rpmsg_sample_remove(struct rpmsg_channel *rpdev)
|
||||
static void rpmsg_sample_remove(struct rpmsg_channel *rpdev)
|
||||
{
|
||||
dev_info(&rpdev->dev, "rpmsg sample client driver is removed\n");
|
||||
}
|
||||
|
@ -253,7 +253,7 @@ static struct rpmsg_driver rpmsg_sample_client = {
|
|||
.id_table = rpmsg_driver_sample_id_table,
|
||||
.probe = rpmsg_sample_probe,
|
||||
.callback = rpmsg_sample_cb,
|
||||
.remove = __devexit_p(rpmsg_sample_remove),
|
||||
.remove = rpmsg_sample_remove,
|
||||
};
|
||||
|
||||
static int __init init(void)
|
||||
|
|
|
@ -345,7 +345,7 @@ SPI protocol drivers somewhat resemble platform device drivers:
|
|||
},
|
||||
|
||||
.probe = CHIP_probe,
|
||||
.remove = __devexit_p(CHIP_remove),
|
||||
.remove = CHIP_remove,
|
||||
.suspend = CHIP_suspend,
|
||||
.resume = CHIP_resume,
|
||||
};
|
||||
|
@ -355,7 +355,7 @@ device whose board_info gave a modalias of "CHIP". Your probe() code
|
|||
might look like this unless you're creating a device which is managing
|
||||
a bus (appearing under /sys/class/spi_master).
|
||||
|
||||
static int __devinit CHIP_probe(struct spi_device *spi)
|
||||
static int CHIP_probe(struct spi_device *spi)
|
||||
{
|
||||
struct CHIP *chip;
|
||||
struct CHIP_platform_data *pdata;
|
||||
|
|
|
@ -38,6 +38,7 @@ show up in /proc/sys/kernel:
|
|||
- l2cr [ PPC only ]
|
||||
- modprobe ==> Documentation/debugging-modules.txt
|
||||
- modules_disabled
|
||||
- msg_next_id [ sysv ipc ]
|
||||
- msgmax
|
||||
- msgmnb
|
||||
- msgmni
|
||||
|
@ -62,7 +63,9 @@ show up in /proc/sys/kernel:
|
|||
- rtsig-max
|
||||
- rtsig-nr
|
||||
- sem
|
||||
- sem_next_id [ sysv ipc ]
|
||||
- sg-big-buff [ generic SCSI device (sg) ]
|
||||
- shm_next_id [ sysv ipc ]
|
||||
- shm_rmid_forced
|
||||
- shmall
|
||||
- shmmax [ sysv ipc ]
|
||||
|
@ -320,6 +323,22 @@ to false.
|
|||
|
||||
==============================================================
|
||||
|
||||
msg_next_id, sem_next_id, and shm_next_id:
|
||||
|
||||
These three toggles allows to specify desired id for next allocated IPC
|
||||
object: message, semaphore or shared memory respectively.
|
||||
|
||||
By default they are equal to -1, which means generic allocation logic.
|
||||
Possible values to set are in range {0..INT_MAX}.
|
||||
|
||||
Notes:
|
||||
1) kernel doesn't guarantee, that new object will have desired id. So,
|
||||
it's up to userspace, how to handle an object with "wrong" id.
|
||||
2) Toggle with non-default value will be set back to -1 by kernel after
|
||||
successful IPC object allocation.
|
||||
|
||||
==============================================================
|
||||
|
||||
nmi_watchdog:
|
||||
|
||||
Enables/Disables the NMI watchdog on x86 systems. When the value is
|
||||
|
@ -542,6 +561,19 @@ are doing anyway :)
|
|||
|
||||
==============================================================
|
||||
|
||||
shmall:
|
||||
|
||||
This parameter sets the total amount of shared memory pages that
|
||||
can be used system wide. Hence, SHMALL should always be at least
|
||||
ceil(shmmax/PAGE_SIZE).
|
||||
|
||||
If you are not sure what the default PAGE_SIZE is on your Linux
|
||||
system, you can run the following command:
|
||||
|
||||
# getconf PAGE_SIZE
|
||||
|
||||
==============================================================
|
||||
|
||||
shmmax:
|
||||
|
||||
This value can be used to query and set the run time limit
|
||||
|
|
|
@ -174,8 +174,7 @@ The recommended approach is as follows:
|
|||
|
||||
static atomic_t drv_instance = ATOMIC_INIT(0);
|
||||
|
||||
static int __devinit drv_probe(struct pci_dev *pdev,
|
||||
const struct pci_device_id *pci_id)
|
||||
static int drv_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
|
||||
{
|
||||
...
|
||||
state->instance = atomic_inc_return(&drv_instance) - 1;
|
||||
|
|
|
@ -182,8 +182,7 @@ int iterate(void *p)
|
|||
|
||||
static atomic_t drv_instance = ATOMIC_INIT(0);
|
||||
|
||||
static int __devinit drv_probe(struct pci_dev *pdev,
|
||||
const struct pci_device_id *pci_id)
|
||||
static int drv_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
|
||||
{
|
||||
...
|
||||
state->instance = atomic_inc_return(&drv_instance) - 1;
|
||||
|
|
209
MAINTAINERS
209
MAINTAINERS
|
@ -449,6 +449,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git
|
|||
S: Maintained
|
||||
F: drivers/char/agp/
|
||||
F: include/linux/agp*
|
||||
F: include/uapi/linux/agp*
|
||||
|
||||
AHA152X SCSI DRIVER
|
||||
M: "Juergen E. Fischer" <fischer@norbit.de>
|
||||
|
@ -589,6 +590,7 @@ M: Jiri Kosina <jkosina@suse.cz>
|
|||
S: Odd fixes
|
||||
F: arch/x86/kernel/apm_32.c
|
||||
F: include/linux/apm_bios.h
|
||||
F: include/uapi/linux/apm_bios.h
|
||||
F: drivers/char/apm-emulation.c
|
||||
|
||||
APPLE BCM5974 MULTITOUCH DRIVER
|
||||
|
@ -1005,7 +1007,6 @@ F: drivers/mmc/host/msm_sdcc.c
|
|||
F: drivers/mmc/host/msm_sdcc.h
|
||||
F: drivers/tty/serial/msm_serial.h
|
||||
F: drivers/tty/serial/msm_serial.c
|
||||
F: drivers/platform/msm/
|
||||
F: drivers/*/pm8???-*
|
||||
F: include/linux/mfd/pm8xxx/
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git
|
||||
|
@ -1069,7 +1070,6 @@ M: Russell King <linux@arm.linux.org.uk>
|
|||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
W: http://www.arm.linux.org.uk/
|
||||
S: Maintained
|
||||
F: arch/arm/common/time-acorn.c
|
||||
F: arch/arm/include/asm/hardware/entry-macro-iomd.S
|
||||
F: arch/arm/include/asm/hardware/ioc.h
|
||||
F: arch/arm/include/asm/hardware/iomd.h
|
||||
|
@ -1094,7 +1094,6 @@ W: http://www.fluff.org/ben/linux/
|
|||
S: Maintained
|
||||
F: arch/arm/plat-samsung/
|
||||
F: arch/arm/plat-s3c24xx/
|
||||
F: arch/arm/plat-s5p/
|
||||
F: arch/arm/mach-s3c24*/
|
||||
F: arch/arm/mach-s3c64xx/
|
||||
F: drivers/*/*s3c2410*
|
||||
|
@ -1125,7 +1124,6 @@ M: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
|||
L: linux-arm-kernel@lists.infradead.org
|
||||
L: linux-media@vger.kernel.org
|
||||
S: Maintained
|
||||
F: arch/arm/plat-s5p/dev-fimc*
|
||||
F: arch/arm/plat-samsung/include/plat/*fimc*
|
||||
F: drivers/media/platform/s5p-fimc/
|
||||
|
||||
|
@ -1136,7 +1134,7 @@ M: Jeongtae Park <jtp.park@samsung.com>
|
|||
L: linux-arm-kernel@lists.infradead.org
|
||||
L: linux-media@vger.kernel.org
|
||||
S: Maintained
|
||||
F: arch/arm/plat-s5p/dev-mfc.c
|
||||
F: arch/arm/plat-samsung/s5p-dev-mfc.c
|
||||
F: drivers/media/platform/s5p-mfc/
|
||||
|
||||
ARM/SAMSUNG S5P SERIES TV SUBSYSTEM SUPPORT
|
||||
|
@ -1254,7 +1252,7 @@ F: drivers/video/vt8500lcdfb.*
|
|||
F: drivers/video/wm8505fb*
|
||||
F: drivers/video/wmt_ge_rops.*
|
||||
F: drivers/tty/serial/vt8500_serial.c
|
||||
F: drivers/rtc/rtc-vt8500-c
|
||||
F: drivers/rtc/rtc-vt8500.c
|
||||
F: drivers/mmc/host/wmt-sdmmc.c
|
||||
|
||||
ARM/ZIPIT Z2 SUPPORT
|
||||
|
@ -1388,6 +1386,7 @@ W: http://linux-atm.sourceforge.net
|
|||
S: Maintained
|
||||
F: drivers/atm/
|
||||
F: include/linux/atm*
|
||||
F: include/uapi/linux/atm*
|
||||
|
||||
ATMEL AT91 / AT32 MCI DRIVER
|
||||
M: Ludovic Desroches <ludovic.desroches@atmel.com>
|
||||
|
@ -1406,13 +1405,13 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
|||
S: Supported
|
||||
F: drivers/dma/at_hdmac.c
|
||||
F: drivers/dma/at_hdmac_regs.h
|
||||
F: arch/arm/mach-at91/include/mach/at_hdmac.h
|
||||
F: include/linux/platform_data/dma-atmel.h
|
||||
|
||||
ATMEL ISI DRIVER
|
||||
M: Josh Wu <josh.wu@atmel.com>
|
||||
L: linux-media@vger.kernel.org
|
||||
S: Supported
|
||||
F: drivers/media/platform/atmel-isi.c
|
||||
F: drivers/media/platform/soc_camera/atmel-isi.c
|
||||
F: include/media/atmel-isi.h
|
||||
|
||||
ATMEL LCDFB DRIVER
|
||||
|
@ -1467,6 +1466,7 @@ W: http://people.redhat.com/sgrubb/audit/
|
|||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current.git
|
||||
S: Maintained
|
||||
F: include/linux/audit.h
|
||||
F: include/uapi/linux/audit.h
|
||||
F: kernel/audit*
|
||||
|
||||
AUXILIARY DISPLAY DRIVERS
|
||||
|
@ -1497,7 +1497,7 @@ M: Ralf Baechle <ralf@linux-mips.org>
|
|||
L: linux-hams@vger.kernel.org
|
||||
W: http://www.linux-ax25.org/
|
||||
S: Maintained
|
||||
F: include/linux/ax25.h
|
||||
F: include/uapi/linux/ax25.h
|
||||
F: include/net/ax25.h
|
||||
F: net/ax25/
|
||||
|
||||
|
@ -1558,7 +1558,7 @@ M: "Tigran A. Aivazian" <tigran@aivazian.fsnet.co.uk>
|
|||
S: Maintained
|
||||
F: Documentation/filesystems/bfs.txt
|
||||
F: fs/bfs/
|
||||
F: include/linux/bfs_fs.h
|
||||
F: include/uapi/linux/bfs_fs.h
|
||||
|
||||
BLACKFIN ARCHITECTURE
|
||||
M: Mike Frysinger <vapier@gentoo.org>
|
||||
|
@ -1655,7 +1655,7 @@ L: netdev@vger.kernel.org
|
|||
W: http://sourceforge.net/projects/bonding/
|
||||
S: Supported
|
||||
F: drivers/net/bonding/
|
||||
F: include/linux/if_bonding.h
|
||||
F: include/uapi/linux/if_bonding.h
|
||||
|
||||
BROADCOM B44 10/100 ETHERNET DRIVER
|
||||
M: Gary Zambrano <zambrano@broadcom.com>
|
||||
|
@ -1734,6 +1734,7 @@ L: linux-scsi@vger.kernel.org
|
|||
S: Supported
|
||||
F: block/bsg.c
|
||||
F: include/linux/bsg.h
|
||||
F: include/uapi/linux/bsg.h
|
||||
|
||||
BT87X AUDIO DRIVER
|
||||
M: Clemens Ladisch <clemens@ladisch.de>
|
||||
|
@ -1804,7 +1805,7 @@ L: netdev@vger.kernel.org
|
|||
S: Supported
|
||||
F: Documentation/networking/caif/
|
||||
F: drivers/net/caif/
|
||||
F: include/linux/caif/
|
||||
F: include/uapi/linux/caif/
|
||||
F: include/net/caif/
|
||||
F: net/caif/
|
||||
|
||||
|
@ -1825,11 +1826,11 @@ W: http://gitorious.org/linux-can
|
|||
T: git git://gitorious.org/linux-can/linux-can-next.git
|
||||
S: Maintained
|
||||
F: net/can/
|
||||
F: include/linux/can.h
|
||||
F: include/linux/can/core.h
|
||||
F: include/linux/can/bcm.h
|
||||
F: include/linux/can/raw.h
|
||||
F: include/linux/can/gw.h
|
||||
F: include/uapi/linux/can.h
|
||||
F: include/uapi/linux/can/bcm.h
|
||||
F: include/uapi/linux/can/raw.h
|
||||
F: include/uapi/linux/can/gw.h
|
||||
|
||||
CAN NETWORK DRIVERS
|
||||
M: Wolfgang Grandegger <wg@grandegger.com>
|
||||
|
@ -1840,15 +1841,16 @@ T: git git://gitorious.org/linux-can/linux-can-next.git
|
|||
S: Maintained
|
||||
F: drivers/net/can/
|
||||
F: include/linux/can/dev.h
|
||||
F: include/linux/can/error.h
|
||||
F: include/linux/can/netlink.h
|
||||
F: include/linux/can/platform/
|
||||
F: include/uapi/linux/can/error.h
|
||||
F: include/uapi/linux/can/netlink.h
|
||||
|
||||
CAPABILITIES
|
||||
M: Serge Hallyn <serge.hallyn@canonical.com>
|
||||
L: linux-security-module@vger.kernel.org
|
||||
S: Supported
|
||||
F: include/linux/capability.h
|
||||
F: include/uapi/linux/capability.h
|
||||
F: security/capability.c
|
||||
F: security/commoncap.c
|
||||
F: kernel/capability.c
|
||||
|
@ -1861,6 +1863,7 @@ W: http://www.ibm.com/developerworks/power/cell/
|
|||
S: Supported
|
||||
F: arch/powerpc/include/asm/cell*.h
|
||||
F: arch/powerpc/include/asm/spu*.h
|
||||
F: arch/powerpc/include/uapi/asm/spu*.h
|
||||
F: arch/powerpc/oprofile/*cell*
|
||||
F: arch/powerpc/platforms/cell/
|
||||
|
||||
|
@ -1909,7 +1912,7 @@ W: http://wireless.kernel.org/
|
|||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
|
||||
S: Maintained
|
||||
F: include/linux/nl80211.h
|
||||
F: include/uapi/linux/nl80211.h
|
||||
F: include/net/cfg80211.h
|
||||
F: net/wireless/*
|
||||
X: net/wireless/wext*
|
||||
|
@ -2012,6 +2015,7 @@ S: Maintained
|
|||
F: Documentation/filesystems/coda.txt
|
||||
F: fs/coda/
|
||||
F: include/linux/coda*.h
|
||||
F: include/uapi/linux/coda*.h
|
||||
|
||||
COMMON CLK FRAMEWORK
|
||||
M: Mike Turquette <mturquette@linaro.org>
|
||||
|
@ -2266,6 +2270,7 @@ W: http://www.cyclades.com/
|
|||
S: Orphan
|
||||
F: drivers/tty/cyclades.c
|
||||
F: include/linux/cyclades.h
|
||||
F: include/uapi/linux/cyclades.h
|
||||
|
||||
CYCLADES PC300 DRIVER
|
||||
W: http://www.cyclades.com/
|
||||
|
@ -2323,6 +2328,7 @@ L: dccp@vger.kernel.org
|
|||
W: http://www.linuxfoundation.org/collaborate/workgroups/networking/dccp
|
||||
S: Maintained
|
||||
F: include/linux/dccp.h
|
||||
F: include/uapi/linux/dccp.h
|
||||
F: include/linux/tfrc.h
|
||||
F: net/dccp/
|
||||
|
||||
|
@ -2349,7 +2355,7 @@ M: Massimo Dal Zotto <dz@debian.org>
|
|||
W: http://www.debian.org/~dz/i8k/
|
||||
S: Maintained
|
||||
F: drivers/char/i8k.c
|
||||
F: include/linux/i8k.h
|
||||
F: include/uapi/linux/i8k.h
|
||||
|
||||
DELL SYSTEMS MANAGEMENT BASE DRIVER (dcdbas)
|
||||
M: Doug Warzecha <Douglas_Warzecha@dell.com>
|
||||
|
@ -2422,6 +2428,7 @@ S: Maintained
|
|||
F: Documentation/filesystems/quota.txt
|
||||
F: fs/quota/
|
||||
F: include/linux/quota*.h
|
||||
F: include/uapi/linux/quota*.h
|
||||
|
||||
DISPLAYLINK USB 2.0 FRAMEBUFFER DRIVER (UDLFB)
|
||||
M: Bernie Thompson <bernie@plugable.com>
|
||||
|
@ -2528,6 +2535,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git
|
|||
S: Maintained
|
||||
F: drivers/gpu/drm/
|
||||
F: include/drm/
|
||||
F: include/uapi/drm/
|
||||
|
||||
INTEL DRM DRIVERS (excluding Poulsbo, Moorestown and derivative chipsets)
|
||||
M: Daniel Vetter <daniel.vetter@ffwll.ch>
|
||||
|
@ -2537,6 +2545,7 @@ T: git git://people.freedesktop.org/~danvet/drm-intel
|
|||
S: Supported
|
||||
F: drivers/gpu/drm/i915
|
||||
F: include/drm/i915*
|
||||
F: include/uapi/drm/i915*
|
||||
|
||||
DRM DRIVERS FOR EXYNOS
|
||||
M: Inki Dae <inki.dae@samsung.com>
|
||||
|
@ -2548,6 +2557,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git
|
|||
S: Supported
|
||||
F: drivers/gpu/drm/exynos
|
||||
F: include/drm/exynos*
|
||||
F: include/uapi/drm/exynos*
|
||||
|
||||
DRM DRIVERS FOR NVIDIA TEGRA
|
||||
M: Thierry Reding <thierry.reding@avionic-design.de>
|
||||
|
@ -2622,7 +2632,7 @@ W: http://github.com/mkrufky
|
|||
Q: http://patchwork.linuxtv.org/project/linux-media/list/
|
||||
T: git git://linuxtv.org/media_tree.git
|
||||
S: Maintained
|
||||
F: drivers/media/usb/dvb-usb-v2/cxusb*
|
||||
F: drivers/media/usb/dvb-usb/cxusb*
|
||||
|
||||
DVB_USB_CYPRESS_FIRMWARE MEDIA DRIVER
|
||||
M: Antti Palosaari <crope@iki.fi>
|
||||
|
@ -2722,6 +2732,7 @@ L: netfilter-devel@vger.kernel.org
|
|||
W: http://ebtables.sourceforge.net/
|
||||
S: Maintained
|
||||
F: include/linux/netfilter_bridge/ebt_*.h
|
||||
F: include/uapi/linux/netfilter_bridge/ebt_*.h
|
||||
F: net/bridge/netfilter/ebt*.c
|
||||
|
||||
EC100 MEDIA DRIVER
|
||||
|
@ -2933,12 +2944,6 @@ M: Maxim Levitsky <maximlevitsky@gmail.com>
|
|||
S: Maintained
|
||||
F: drivers/media/rc/ene_ir.*
|
||||
|
||||
EPSON 1355 FRAMEBUFFER DRIVER
|
||||
M: Christopher Hoover <ch@murgatroid.com>
|
||||
M: Christopher Hoover <ch@hpl.hp.com>
|
||||
S: Maintained
|
||||
F: drivers/video/epson1355fb.c
|
||||
|
||||
EPSON S1D13XXX FRAMEBUFFER DRIVER
|
||||
M: Kristoffer Ericson <kristoffer.ericson@gmail.com>
|
||||
S: Maintained
|
||||
|
@ -3051,6 +3056,7 @@ M: Eric Paris <eparis@redhat.com>
|
|||
S: Maintained
|
||||
F: fs/notify/fanotify/
|
||||
F: include/linux/fanotify.h
|
||||
F: include/uapi/linux/fanotify.h
|
||||
|
||||
FARSYNC SYNCHRONOUS DRIVER
|
||||
M: Kevin Curtis <kevin.curtis@farsite.co.uk>
|
||||
|
@ -3074,6 +3080,7 @@ F: drivers/scsi/fcoe/
|
|||
F: include/scsi/fc/
|
||||
F: include/scsi/libfc.h
|
||||
F: include/scsi/libfcoe.h
|
||||
F: include/uapi/scsi/fc/
|
||||
|
||||
FILE LOCKING (flock() and fcntl()/lockf())
|
||||
M: Matthew Wilcox <matthew@wil.cx>
|
||||
|
@ -3081,6 +3088,8 @@ L: linux-fsdevel@vger.kernel.org
|
|||
S: Maintained
|
||||
F: include/linux/fcntl.h
|
||||
F: include/linux/fs.h
|
||||
F: include/uapi/linux/fcntl.h
|
||||
F: include/uapi/linux/fs.h
|
||||
F: fs/fcntl.c
|
||||
F: fs/locks.c
|
||||
|
||||
|
@ -3170,6 +3179,8 @@ F: Documentation/devicetree/bindings/fb/
|
|||
F: drivers/video/
|
||||
F: include/video/
|
||||
F: include/linux/fb.h
|
||||
F: include/uapi/video/
|
||||
F: include/uapi/linux/fb.h
|
||||
|
||||
FREESCALE DIU FRAMEBUFFER DRIVER
|
||||
M: Timur Tabi <timur@freescale.com>
|
||||
|
@ -3196,7 +3207,7 @@ M: Sascha Hauer <kernel@pengutronix.de>
|
|||
L: linux-fbdev@vger.kernel.org
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
F: arch/arm/plat-mxc/include/mach/imxfb.h
|
||||
F: include/linux/platform_data/video-imxfb.h
|
||||
F: drivers/video/imxfb.c
|
||||
|
||||
FREESCALE SOC FS_ENET DRIVER
|
||||
|
@ -3273,6 +3284,16 @@ F: Documentation/filesystems/caching/
|
|||
F: fs/fscache/
|
||||
F: include/linux/fscache*.h
|
||||
|
||||
F2FS FILE SYSTEM
|
||||
M: Jaegeuk Kim <jaegeuk.kim@samsung.com>
|
||||
L: linux-f2fs-devel@lists.sourceforge.net
|
||||
W: http://en.wikipedia.org/wiki/F2FS
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
|
||||
S: Maintained
|
||||
F: Documentation/filesystems/f2fs.txt
|
||||
F: fs/f2fs/
|
||||
F: include/linux/f2fs_fs.h
|
||||
|
||||
FUJITSU FR-V (FRV) PORT
|
||||
M: David Howells <dhowells@redhat.com>
|
||||
S: Maintained
|
||||
|
@ -3304,7 +3325,7 @@ L: fuse-devel@lists.sourceforge.net
|
|||
W: http://fuse.sourceforge.net/
|
||||
S: Maintained
|
||||
F: fs/fuse/
|
||||
F: include/linux/fuse.h
|
||||
F: include/uapi/linux/fuse.h
|
||||
|
||||
FUTURE DOMAIN TMC-16x0 SCSI DRIVER (16-bit)
|
||||
M: Rik Faith <faith@cs.unc.edu>
|
||||
|
@ -3351,6 +3372,7 @@ L: linux-arch@vger.kernel.org
|
|||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git
|
||||
S: Maintained
|
||||
F: include/asm-generic
|
||||
F: include/uapi/asm-generic
|
||||
|
||||
GENERIC UIO DRIVER FOR PCI DEVICES
|
||||
M: "Michael S. Tsirkin" <mst@redhat.com>
|
||||
|
@ -3367,7 +3389,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git
|
|||
S: Supported
|
||||
F: Documentation/filesystems/gfs2*.txt
|
||||
F: fs/gfs2/
|
||||
F: include/linux/gfs2_ondisk.h
|
||||
F: include/uapi/linux/gfs2_ondisk.h
|
||||
|
||||
GIGASET ISDN DRIVERS
|
||||
M: Hansjoerg Lipp <hjlipp@web.de>
|
||||
|
@ -3377,7 +3399,7 @@ W: http://gigaset307x.sourceforge.net/
|
|||
S: Maintained
|
||||
F: Documentation/isdn/README.gigaset
|
||||
F: drivers/isdn/gigaset/
|
||||
F: include/linux/gigaset_dev.h
|
||||
F: include/uapi/linux/gigaset_dev.h
|
||||
|
||||
GPIO SUBSYSTEM
|
||||
M: Grant Likely <grant.likely@secretlab.ca>
|
||||
|
@ -3534,6 +3556,7 @@ S: Supported
|
|||
F: Documentation/scsi/hpsa.txt
|
||||
F: drivers/scsi/hpsa*.[ch]
|
||||
F: include/linux/cciss*.h
|
||||
F: include/uapi/linux/cciss*.h
|
||||
|
||||
HEWLETT-PACKARD SMART CISS RAID DRIVER (cciss)
|
||||
M: Mike Miller <mike.miller@hp.com>
|
||||
|
@ -3542,6 +3565,7 @@ S: Supported
|
|||
F: Documentation/blockdev/cciss.txt
|
||||
F: drivers/block/cciss*
|
||||
F: include/linux/cciss_ioctl.h
|
||||
F: include/uapi/linux/cciss_ioctl.h
|
||||
|
||||
HFS FILESYSTEM
|
||||
L: linux-fsdevel@vger.kernel.org
|
||||
|
@ -3576,6 +3600,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
|
|||
S: Maintained
|
||||
F: drivers/hid/
|
||||
F: include/linux/hid*
|
||||
F: include/uapi/linux/hid*
|
||||
|
||||
HIGH-RESOLUTION TIMERS, CLOCKEVENTS, DYNTICKS
|
||||
M: Thomas Gleixner <tglx@linutronix.de>
|
||||
|
@ -3607,7 +3632,7 @@ M: Jes Sorensen <jes@trained-monkey.org>
|
|||
L: linux-hippi@sunsite.dk
|
||||
S: Maintained
|
||||
F: include/linux/hippidevice.h
|
||||
F: include/linux/if_hippi.h
|
||||
F: include/uapi/linux/if_hippi.h
|
||||
F: net/802/hippi.c
|
||||
F: drivers/net/hippi/
|
||||
|
||||
|
@ -3635,6 +3660,7 @@ S: Maintained
|
|||
F: Documentation/timers/hpet.txt
|
||||
F: drivers/char/hpet.c
|
||||
F: include/linux/hpet.h
|
||||
F: include/uapi/linux/hpet.h
|
||||
|
||||
HPET: x86
|
||||
M: "Venkatesh Pallipadi (Venki)" <venki@google.com>
|
||||
|
@ -3735,6 +3761,8 @@ F: Documentation/i2c/
|
|||
F: drivers/i2c/
|
||||
F: include/linux/i2c.h
|
||||
F: include/linux/i2c-*.h
|
||||
F: include/uapi/linux/i2c.h
|
||||
F: include/uapi/linux/i2c-*.h
|
||||
|
||||
I2C-TAOS-EVM DRIVER
|
||||
M: Jean Delvare <khali@linux-fr.org>
|
||||
|
@ -3850,7 +3878,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan.git
|
|||
S: Maintained
|
||||
F: net/ieee802154/
|
||||
F: net/mac802154/
|
||||
F: drivers/ieee802154/
|
||||
F: drivers/net/ieee802154/
|
||||
|
||||
IGUANAWORKS USB IR TRANSCEIVER
|
||||
M: Sean Young <sean@mess.org>
|
||||
|
@ -3901,7 +3929,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband.git
|
|||
S: Supported
|
||||
F: Documentation/infiniband/
|
||||
F: drivers/infiniband/
|
||||
F: include/linux/if_infiniband.h
|
||||
F: include/uapi/linux/if_infiniband.h
|
||||
|
||||
INOTIFY
|
||||
M: John McCutchan <john@johnmccutchan.com>
|
||||
|
@ -3911,6 +3939,7 @@ S: Maintained
|
|||
F: Documentation/filesystems/inotify.txt
|
||||
F: fs/notify/inotify/
|
||||
F: include/linux/inotify.h
|
||||
F: include/uapi/linux/inotify.h
|
||||
|
||||
INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN) DRIVERS
|
||||
M: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
|
@ -3921,6 +3950,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git
|
|||
S: Maintained
|
||||
F: drivers/input/
|
||||
F: include/linux/input.h
|
||||
F: include/uapi/linux/input.h
|
||||
F: include/linux/input/
|
||||
|
||||
INPUT MULTITOUCH (MT) PROTOCOL
|
||||
|
@ -3941,7 +3971,6 @@ L: linux-scsi@vger.kernel.org
|
|||
T: git git://git.code.sf.net/p/intel-sas/isci
|
||||
S: Supported
|
||||
F: drivers/scsi/isci/
|
||||
F: firmware/isci/
|
||||
|
||||
INTEL IDLE DRIVER
|
||||
M: Len Brown <lenb@kernel.org>
|
||||
|
@ -4036,12 +4065,6 @@ F: Documentation/networking/ixgbe.txt
|
|||
F: Documentation/networking/ixgbevf.txt
|
||||
F: drivers/net/ethernet/intel/
|
||||
|
||||
INTEL MRST PMU DRIVER
|
||||
M: Len Brown <len.brown@intel.com>
|
||||
L: linux-pm@vger.kernel.org
|
||||
S: Supported
|
||||
F: arch/x86/platform/mrst/pmu.*
|
||||
|
||||
INTEL PRO/WIRELESS 2100, 2200BG, 2915ABG NETWORK CONNECTION SUPPORT
|
||||
M: Stanislav Yakovlev <stas.yakovlev@gmail.com>
|
||||
L: linux-wireless@vger.kernel.org
|
||||
|
@ -4070,7 +4093,7 @@ S: Supported
|
|||
W: http://linuxwimax.org
|
||||
F: Documentation/wimax/README.i2400m
|
||||
F: drivers/net/wimax/i2400m/
|
||||
F: include/linux/wimax/i2400m.h
|
||||
F: include/uapi/linux/wimax/i2400m.h
|
||||
|
||||
INTEL WIRELESS 3945ABG/BG, 4965AGN (iwlegacy)
|
||||
M: Stanislaw Gruszka <sgruszka@redhat.com>
|
||||
|
@ -4092,9 +4115,9 @@ INTEL MANAGEMENT ENGINE (mei)
|
|||
M: Tomas Winkler <tomas.winkler@intel.com>
|
||||
L: linux-kernel@vger.kernel.org
|
||||
S: Supported
|
||||
F: include/linux/mei.h
|
||||
F: include/uapi/linux/mei.h
|
||||
F: drivers/misc/mei/*
|
||||
F: Documentation/mei/*
|
||||
F: Documentation/misc-devices/mei/*
|
||||
|
||||
IOC3 ETHERNET DRIVER
|
||||
M: Ralf Baechle <ralf@linux-mips.org>
|
||||
|
@ -4134,6 +4157,7 @@ S: Supported
|
|||
F: Documentation/IPMI.txt
|
||||
F: drivers/char/ipmi/
|
||||
F: include/linux/ipmi*
|
||||
F: include/uapi/linux/ipmi*
|
||||
|
||||
IPS SCSI RAID DRIVER
|
||||
M: Adaptec OEM Raid Solutions <aacraid@adaptec.com>
|
||||
|
@ -4151,7 +4175,7 @@ L: lvs-devel@vger.kernel.org
|
|||
S: Maintained
|
||||
F: Documentation/networking/ipvs-sysctl.txt
|
||||
F: include/net/ip_vs.h
|
||||
F: include/linux/ip_vs.h
|
||||
F: include/uapi/linux/ip_vs.h
|
||||
F: net/netfilter/ipvs/
|
||||
|
||||
IPWIRELESS DRIVER
|
||||
|
@ -4164,8 +4188,8 @@ IPX NETWORK LAYER
|
|||
M: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
|
||||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: include/linux/ipx.h
|
||||
F: include/net/ipx.h
|
||||
F: include/uapi/linux/ipx.h
|
||||
F: net/ipx/
|
||||
|
||||
IRDA SUBSYSTEM
|
||||
|
@ -4228,6 +4252,8 @@ F: Documentation/isdn/
|
|||
F: drivers/isdn/
|
||||
F: include/linux/isdn.h
|
||||
F: include/linux/isdn/
|
||||
F: include/uapi/linux/isdn.h
|
||||
F: include/uapi/linux/isdn/
|
||||
|
||||
ISDN SUBSYSTEM (Eicon active card driver)
|
||||
M: Armin Schindler <mac@melware.de>
|
||||
|
@ -4268,7 +4294,7 @@ W: http://www.ivtvdriver.org
|
|||
S: Maintained
|
||||
F: Documentation/video4linux/*.ivtv
|
||||
F: drivers/media/pci/ivtv/
|
||||
F: include/linux/ivtv*
|
||||
F: include/uapi/linux/ivtv*
|
||||
|
||||
IX2505V MEDIA DRIVER
|
||||
M: Malcolm Priestley <tvboxspy@gmail.com>
|
||||
|
@ -4306,7 +4332,7 @@ L: linux-mtd@lists.infradead.org
|
|||
W: http://www.linux-mtd.infradead.org/doc/jffs2.html
|
||||
S: Maintained
|
||||
F: fs/jffs2/
|
||||
F: include/linux/jffs2.h
|
||||
F: include/uapi/linux/jffs2.h
|
||||
|
||||
JOURNALLING LAYER FOR BLOCK DEVICES (JBD)
|
||||
M: Andrew Morton <akpm@linux-foundation.org>
|
||||
|
@ -4389,11 +4415,13 @@ W: http://nfs.sourceforge.net/
|
|||
S: Supported
|
||||
F: fs/nfsd/
|
||||
F: include/linux/nfsd/
|
||||
F: include/uapi/linux/nfsd/
|
||||
F: fs/lockd/
|
||||
F: fs/nfs_common/
|
||||
F: net/sunrpc/
|
||||
F: include/linux/lockd/
|
||||
F: include/linux/sunrpc/
|
||||
F: include/uapi/linux/sunrpc/
|
||||
|
||||
KERNEL VIRTUAL MACHINE (KVM)
|
||||
M: Marcelo Tosatti <mtosatti@redhat.com>
|
||||
|
@ -4405,6 +4433,7 @@ F: Documentation/*/kvm.txt
|
|||
F: arch/*/kvm/
|
||||
F: arch/*/include/asm/kvm*
|
||||
F: include/linux/kvm*
|
||||
F: include/uapi/linux/kvm*
|
||||
F: virt/kvm/
|
||||
|
||||
KERNEL VIRTUAL MACHINE (KVM) FOR AMD-V
|
||||
|
@ -4451,6 +4480,7 @@ W: http://kernel.org/pub/linux/utils/kernel/kexec/
|
|||
L: kexec@lists.infradead.org
|
||||
S: Maintained
|
||||
F: include/linux/kexec.h
|
||||
F: include/uapi/linux/kexec.h
|
||||
F: kernel/kexec.c
|
||||
|
||||
KEYS/KEYRINGS:
|
||||
|
@ -4692,6 +4722,7 @@ LLC (802.2)
|
|||
M: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
|
||||
S: Maintained
|
||||
F: include/linux/llc.h
|
||||
F: include/uapi/linux/llc.h
|
||||
F: include/net/llc*
|
||||
F: net/llc/
|
||||
|
||||
|
@ -4912,7 +4943,7 @@ MATROX FRAMEBUFFER DRIVER
|
|||
L: linux-fbdev@vger.kernel.org
|
||||
S: Orphan
|
||||
F: drivers/video/matrox/matroxfb_*
|
||||
F: include/linux/matroxfb.h
|
||||
F: include/uapi/linux/matroxfb.h
|
||||
|
||||
MAX16065 HARDWARE MONITOR DRIVER
|
||||
M: Guenter Roeck <linux@roeck-us.net>
|
||||
|
@ -4994,7 +5025,7 @@ T: git git://git.infradead.org/mtd-2.6.git
|
|||
S: Maintained
|
||||
F: drivers/mtd/
|
||||
F: include/linux/mtd/
|
||||
F: include/mtd/
|
||||
F: include/uapi/mtd/
|
||||
|
||||
MICROBLAZE ARCHITECTURE
|
||||
M: Michal Simek <monstr@monstr.eu>
|
||||
|
@ -5032,12 +5063,6 @@ F: Documentation/video4linux/meye.txt
|
|||
F: drivers/media/pci/meye/
|
||||
F: include/uapi/linux/meye.h
|
||||
|
||||
MOTOROLA IMX MMC/SD HOST CONTROLLER INTERFACE DRIVER
|
||||
M: Pavel Pisa <ppisa@pikron.com>
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
F: drivers/mmc/host/imxmmc.*
|
||||
|
||||
MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD
|
||||
M: Jiri Slaby <jirislaby@gmail.com>
|
||||
S: Maintained
|
||||
|
@ -5076,6 +5101,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git
|
|||
S: Maintained
|
||||
F: drivers/mmc/
|
||||
F: include/linux/mmc/
|
||||
F: include/uapi/linux/mmc/
|
||||
|
||||
MULTIMEDIA CARD (MMC) ETC. OVER SPI
|
||||
S: Orphan
|
||||
|
@ -5176,6 +5202,8 @@ S: Supported
|
|||
F: include/linux/netfilter*
|
||||
F: include/linux/netfilter/
|
||||
F: include/net/netfilter/
|
||||
F: include/uapi/linux/netfilter*
|
||||
F: include/uapi/linux/netfilter/
|
||||
F: net/*/netfilter.c
|
||||
F: net/*/netfilter/
|
||||
F: net/netfilter/
|
||||
|
@ -5194,8 +5222,8 @@ M: Ralf Baechle <ralf@linux-mips.org>
|
|||
L: linux-hams@vger.kernel.org
|
||||
W: http://www.linux-ax25.org/
|
||||
S: Maintained
|
||||
F: include/linux/netrom.h
|
||||
F: include/net/netrom.h
|
||||
F: include/uapi/linux/netrom.h
|
||||
F: net/netrom/
|
||||
|
||||
NETWORK BLOCK DEVICE (NBD)
|
||||
|
@ -5204,6 +5232,7 @@ S: Maintained
|
|||
F: Documentation/blockdev/nbd.txt
|
||||
F: drivers/block/nbd.c
|
||||
F: include/linux/nbd.h
|
||||
F: include/uapi/linux/nbd.h
|
||||
|
||||
NETWORK DROP MONITOR
|
||||
M: Neil Horman <nhorman@tuxdriver.com>
|
||||
|
@ -5225,6 +5254,9 @@ F: include/net/
|
|||
F: include/linux/in.h
|
||||
F: include/linux/net.h
|
||||
F: include/linux/netdevice.h
|
||||
F: include/uapi/linux/in.h
|
||||
F: include/uapi/linux/net.h
|
||||
F: include/uapi/linux/netdevice.h
|
||||
|
||||
NETWORKING [IPv4/IPv6]
|
||||
M: "David S. Miller" <davem@davemloft.net>
|
||||
|
@ -5270,6 +5302,7 @@ F: net/rfkill/
|
|||
F: net/wireless/
|
||||
F: include/net/ieee80211*
|
||||
F: include/linux/wireless.h
|
||||
F: include/uapi/linux/wireless.h
|
||||
F: include/net/iw_handler.h
|
||||
F: drivers/net/wireless/
|
||||
|
||||
|
@ -5289,6 +5322,8 @@ F: include/linux/fcdevice.h
|
|||
F: include/linux/fddidevice.h
|
||||
F: include/linux/hippidevice.h
|
||||
F: include/linux/inetdevice.h
|
||||
F: include/uapi/linux/if_*
|
||||
F: include/uapi/linux/netdevice.h
|
||||
|
||||
NETXEN (1/10) GbE SUPPORT
|
||||
M: Sony Chacko <sony.chacko@qlogic.com>
|
||||
|
@ -5306,8 +5341,8 @@ L: linux-wireless@vger.kernel.org
|
|||
L: linux-nfc@lists.01.org (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
F: net/nfc/
|
||||
F: include/linux/nfc.h
|
||||
F: include/net/nfc/
|
||||
F: include/uapi/linux/nfc.h
|
||||
F: drivers/nfc/
|
||||
F: include/linux/platform_data/pn544.h
|
||||
|
||||
|
@ -5324,6 +5359,8 @@ F: net/sunrpc/
|
|||
F: include/linux/lockd/
|
||||
F: include/linux/nfs*
|
||||
F: include/linux/sunrpc/
|
||||
F: include/uapi/linux/nfs*
|
||||
F: include/uapi/linux/sunrpc/
|
||||
|
||||
NI5010 NETWORK DRIVER
|
||||
M: Jan-Pascal van Best <janpascal@vanbest.org>
|
||||
|
@ -5513,6 +5550,7 @@ M: Harald Welte <laforge@gnumonks.org>
|
|||
S: Maintained
|
||||
F: drivers/char/pcmcia/cm4000_cs.c
|
||||
F: include/linux/cm4000_cs.h
|
||||
F: include/uapi/linux/cm4000_cs.h
|
||||
|
||||
OMNIKEY CARDMAN 4040 DRIVER
|
||||
M: Harald Welte <laforge@gnumonks.org>
|
||||
|
@ -5671,7 +5709,7 @@ S: Orphan
|
|||
F: drivers/parport/
|
||||
F: include/linux/parport*.h
|
||||
F: drivers/char/ppdev.c
|
||||
F: include/linux/ppdev.h
|
||||
F: include/uapi/linux/ppdev.h
|
||||
|
||||
PARAVIRT_OPS INTERFACE
|
||||
M: Jeremy Fitzhardinge <jeremy@goop.org>
|
||||
|
@ -5812,11 +5850,11 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf/core
|
|||
S: Supported
|
||||
F: kernel/events/*
|
||||
F: include/linux/perf_event.h
|
||||
F: include/uapi/linux/perf_event.h
|
||||
F: arch/*/kernel/perf_event*.c
|
||||
F: arch/*/kernel/*/perf_event*.c
|
||||
F: arch/*/kernel/*/*/perf_event*.c
|
||||
F: arch/*/include/asm/perf_event.h
|
||||
F: arch/*/lib/perf_event*.c
|
||||
F: arch/*/kernel/perf_callchain.c
|
||||
F: tools/perf/
|
||||
|
||||
|
@ -5825,6 +5863,7 @@ M: Christoph Hellwig <hch@infradead.org>
|
|||
L: linux-abi-devel@lists.sourceforge.net
|
||||
S: Maintained
|
||||
F: include/linux/personality.h
|
||||
F: include/uapi/linux/personality.h
|
||||
|
||||
PHONET PROTOCOL
|
||||
M: Remi Denis-Courmont <courmisch@gmail.com>
|
||||
|
@ -5832,6 +5871,7 @@ S: Supported
|
|||
F: Documentation/networking/phonet.txt
|
||||
F: include/linux/phonet.h
|
||||
F: include/net/phonet/
|
||||
F: include/uapi/linux/phonet.h
|
||||
F: net/phonet/
|
||||
|
||||
PHRAM MTD DRIVER
|
||||
|
@ -5880,6 +5920,7 @@ M: Jiri Kosina <jkosina@suse.cz>
|
|||
S: Maintained
|
||||
F: drivers/block/pktcdvd.c
|
||||
F: include/linux/pktcdvd.h
|
||||
F: include/uapi/linux/pktcdvd.h
|
||||
|
||||
PKUNITY SOC DRIVERS
|
||||
M: Guan Xuetao <gxt@mprc.pku.edu.cn>
|
||||
|
@ -5954,7 +5995,7 @@ PPP OVER ATM (RFC 2364)
|
|||
M: Mitchell Blank Jr <mitch@sfgoth.com>
|
||||
S: Maintained
|
||||
F: net/atm/pppoatm.c
|
||||
F: include/linux/atmppp.h
|
||||
F: include/uapi/linux/atmppp.h
|
||||
|
||||
PPP OVER ETHERNET
|
||||
M: Michal Ostrowski <mostrows@earthlink.net>
|
||||
|
@ -5967,6 +6008,7 @@ M: James Chapman <jchapman@katalix.com>
|
|||
S: Maintained
|
||||
F: net/l2tp/l2tp_ppp.c
|
||||
F: include/linux/if_pppol2tp.h
|
||||
F: include/uapi/linux/if_pppol2tp.h
|
||||
|
||||
PPS SUPPORT
|
||||
M: Rodolfo Giometti <giometti@enneenne.com>
|
||||
|
@ -6064,6 +6106,7 @@ F: include/asm-generic/syscall.h
|
|||
F: include/linux/ptrace.h
|
||||
F: include/linux/regset.h
|
||||
F: include/linux/tracehook.h
|
||||
F: include/uapi/linux/ptrace.h
|
||||
F: kernel/ptrace.c
|
||||
|
||||
PVRUSB2 VIDEO4LINUX DRIVER
|
||||
|
@ -6092,7 +6135,6 @@ T: git git://gitorious.org/linux-pwm/linux-pwm.git
|
|||
F: Documentation/pwm.txt
|
||||
F: Documentation/devicetree/bindings/pwm/
|
||||
F: include/linux/pwm.h
|
||||
F: include/linux/of_pwm.h
|
||||
F: drivers/pwm/
|
||||
F: drivers/video/backlight/pwm_bl.c
|
||||
F: include/linux/pwm_backlight.h
|
||||
|
@ -6188,8 +6230,8 @@ M: Anders Larsen <al@alarsen.net>
|
|||
W: http://www.alarsen.net/linux/qnx4fs/
|
||||
S: Maintained
|
||||
F: fs/qnx4/
|
||||
F: include/linux/qnx4_fs.h
|
||||
F: include/linux/qnxtypes.h
|
||||
F: include/uapi/linux/qnx4_fs.h
|
||||
F: include/uapi/linux/qnxtypes.h
|
||||
|
||||
QT1010 MEDIA DRIVER
|
||||
M: Antti Palosaari <crope@iki.fi>
|
||||
|
@ -6223,7 +6265,7 @@ M: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
|||
L: linux-fbdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/video/aty/radeon*
|
||||
F: include/linux/radeonfb.h
|
||||
F: include/uapi/linux/radeonfb.h
|
||||
|
||||
RADIOSHARK RADIO DRIVER
|
||||
M: Hans de Goede <hdegoede@redhat.com>
|
||||
|
@ -6324,6 +6366,7 @@ S: Maintained
|
|||
F: Documentation/rtc.txt
|
||||
F: drivers/rtc/
|
||||
F: include/linux/rtc.h
|
||||
F: include/uapi/linux/rtc.h
|
||||
|
||||
REISERFS FILE SYSTEM
|
||||
L: reiserfs-devel@vger.kernel.org
|
||||
|
@ -6378,8 +6421,8 @@ M: Ralf Baechle <ralf@linux-mips.org>
|
|||
L: linux-hams@vger.kernel.org
|
||||
W: http://www.linux-ax25.org/
|
||||
S: Maintained
|
||||
F: include/linux/rose.h
|
||||
F: include/net/rose.h
|
||||
F: include/uapi/linux/rose.h
|
||||
F: net/rose/
|
||||
|
||||
RTL2830 MEDIA DRIVER
|
||||
|
@ -6556,6 +6599,8 @@ S: Supported
|
|||
F: include/linux/clocksource.h
|
||||
F: include/linux/time.h
|
||||
F: include/linux/timex.h
|
||||
F: include/uapi/linux/time.h
|
||||
F: include/uapi/linux/timex.h
|
||||
F: kernel/time/clocksource.c
|
||||
F: kernel/time/time*.c
|
||||
F: kernel/time/ntp.c
|
||||
|
@ -6580,6 +6625,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched/core
|
|||
S: Maintained
|
||||
F: kernel/sched/
|
||||
F: include/linux/sched.h
|
||||
F: include/uapi/linux/sched.h
|
||||
|
||||
SCORE ARCHITECTURE
|
||||
M: Chen Liqin <liqin.chen@sunplusct.com>
|
||||
|
@ -6733,7 +6779,7 @@ SENSABLE PHANTOM
|
|||
M: Jiri Slaby <jirislaby@gmail.com>
|
||||
S: Maintained
|
||||
F: drivers/misc/phantom.c
|
||||
F: include/linux/phantom.h
|
||||
F: include/uapi/linux/phantom.h
|
||||
|
||||
SERIAL ATA (SATA) SUBSYSTEM
|
||||
M: Jeff Garzik <jgarzik@pobox.com>
|
||||
|
@ -6991,6 +7037,7 @@ L: linux-raid@vger.kernel.org
|
|||
S: Supported
|
||||
F: drivers/md/
|
||||
F: include/linux/raid/
|
||||
F: include/uapi/linux/raid/
|
||||
|
||||
SONIC NETWORK DRIVER
|
||||
M: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
|
||||
|
@ -7031,6 +7078,7 @@ T: git git://git.alsa-project.org/alsa-kernel.git
|
|||
S: Maintained
|
||||
F: Documentation/sound/
|
||||
F: include/sound/
|
||||
F: include/uapi/sound/
|
||||
F: sound/
|
||||
|
||||
SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC)
|
||||
|
@ -7131,6 +7179,7 @@ S: Maintained
|
|||
F: Documentation/spi/
|
||||
F: drivers/spi/
|
||||
F: include/linux/spi/
|
||||
F: include/uapi/linux/spi/
|
||||
|
||||
SPIDERNET NETWORK DRIVER for CELL
|
||||
M: Ishizaki Kou <kou.ishizaki@toshiba.co.jp>
|
||||
|
@ -7267,7 +7316,7 @@ F: drivers/staging/rtl8712/
|
|||
STAGING - SILICON MOTION SM7XX FRAME BUFFER DRIVER
|
||||
M: Teddy Wang <teddy.wang@siliconmotion.com.cn>
|
||||
S: Odd Fixes
|
||||
F: drivers/staging/sm7xx/
|
||||
F: drivers/staging/sm7xxfb/
|
||||
|
||||
STAGING - SOFTLOGIC 6x10 MPEG CODEC
|
||||
M: Ben Collins <bcollins@bluecherry.net>
|
||||
|
@ -7393,8 +7442,8 @@ TC CLASSIFIER
|
|||
M: Jamal Hadi Salim <jhs@mojatatu.com>
|
||||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: include/linux/pkt_cls.h
|
||||
F: include/net/pkt_cls.h
|
||||
F: include/uapi/linux/pkt_cls.h
|
||||
F: net/sched/
|
||||
|
||||
TCP LOW PRIORITY MODULE
|
||||
|
@ -7486,6 +7535,7 @@ L: netdev@vger.kernel.org
|
|||
S: Supported
|
||||
F: drivers/net/team/
|
||||
F: include/linux/if_team.h
|
||||
F: include/uapi/linux/if_team.h
|
||||
|
||||
TECHNOTREND USB IR RECEIVER
|
||||
M: Sean Young <sean@mess.org>
|
||||
|
@ -7584,7 +7634,7 @@ L: netdev@vger.kernel.org (core kernel code)
|
|||
L: tipc-discussion@lists.sourceforge.net (user apps, general discussion)
|
||||
W: http://tipc.sourceforge.net/
|
||||
S: Maintained
|
||||
F: include/linux/tipc*.h
|
||||
F: include/uapi/linux/tipc*.h
|
||||
F: net/tipc/
|
||||
|
||||
TILE ARCHITECTURE
|
||||
|
@ -7634,6 +7684,7 @@ W: http://www.buzzard.org.uk/toshiba/
|
|||
S: Maintained
|
||||
F: drivers/char/toshiba.c
|
||||
F: include/linux/toshiba.h
|
||||
F: include/uapi/linux/toshiba.h
|
||||
|
||||
TMIO MMC DRIVER
|
||||
M: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
|
||||
|
@ -7701,6 +7752,9 @@ F: drivers/tty/serial/serial_core.c
|
|||
F: include/linux/serial_core.h
|
||||
F: include/linux/serial.h
|
||||
F: include/linux/tty.h
|
||||
F: include/uapi/linux/serial_core.h
|
||||
F: include/uapi/linux/serial.h
|
||||
F: include/uapi/linux/tty.h
|
||||
|
||||
TUA9001 MEDIA DRIVER
|
||||
M: Antti Palosaari <crope@iki.fi>
|
||||
|
@ -7780,7 +7834,7 @@ M: David Herrmann <dh.herrmann@googlemail.com>
|
|||
L: linux-input@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/hid/uhid.c
|
||||
F: include/linux/uhid.h
|
||||
F: include/uapi/linux/uhid.h
|
||||
|
||||
ULTRA-WIDEBAND (UWB) SUBSYSTEM:
|
||||
L: linux-usb@vger.kernel.org
|
||||
|
@ -7809,6 +7863,7 @@ S: Maintained
|
|||
F: Documentation/cdrom/
|
||||
F: drivers/cdrom/cdrom.c
|
||||
F: include/linux/cdrom.h
|
||||
F: include/uapi/linux/cdrom.h
|
||||
|
||||
UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER
|
||||
M: Vinayak Holikatti <vinholikatti@gmail.com>
|
||||
|
@ -7826,7 +7881,7 @@ T: git git://git.infradead.org/ubi-2.6.git
|
|||
S: Maintained
|
||||
F: drivers/mtd/ubi/
|
||||
F: include/linux/mtd/ubi.h
|
||||
F: include/mtd/ubi-user.h
|
||||
F: include/uapi/mtd/ubi-user.h
|
||||
|
||||
UNSORTED BLOCK IMAGES (UBI) Fastmap
|
||||
M: Richard Weinberger <richard@nod.at>
|
||||
|
@ -7860,7 +7915,7 @@ M: Oliver Neukum <oliver@neukum.org>
|
|||
L: linux-usb@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/net/usb/cdc_*.c
|
||||
F: include/linux/usb/cdc.h
|
||||
F: include/uapi/linux/usb/cdc.h
|
||||
|
||||
USB CYPRESS C67X00 DRIVER
|
||||
M: Peter Korsgaard <jacmet@sunsite.dk>
|
||||
|
@ -8181,6 +8236,7 @@ S: Maintained
|
|||
F: Documentation/vfio.txt
|
||||
F: drivers/vfio/
|
||||
F: include/linux/vfio.h
|
||||
F: include/uapi/linux/vfio.h
|
||||
|
||||
VIDEOBUF2 FRAMEWORK
|
||||
M: Pawel Osciak <pawel@osciak.com>
|
||||
|
@ -8197,6 +8253,7 @@ L: virtualization@lists.linux-foundation.org
|
|||
S: Maintained
|
||||
F: drivers/char/virtio_console.c
|
||||
F: include/linux/virtio_console.h
|
||||
F: include/uapi/linux/virtio_console.h
|
||||
|
||||
VIRTIO CORE, NET AND BLOCK DRIVERS
|
||||
M: Rusty Russell <rusty@rustcorp.com.au>
|
||||
|
@ -8215,7 +8272,7 @@ L: virtualization@lists.linux-foundation.org
|
|||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/vhost/
|
||||
F: include/linux/vhost.h
|
||||
F: include/uapi/linux/vhost.h
|
||||
|
||||
VIA RHINE NETWORK DRIVER
|
||||
M: Roger Luethi <rl@hellgate.ch>
|
||||
|
@ -8355,6 +8412,7 @@ S: Maintained
|
|||
F: Documentation/watchdog/
|
||||
F: drivers/watchdog/
|
||||
F: include/linux/watchdog.h
|
||||
F: include/uapi/linux/watchdog.h
|
||||
|
||||
WD7000 SCSI DRIVER
|
||||
M: Miroslav Zagorac <zaga@fly.cc.fer.hr>
|
||||
|
@ -8380,9 +8438,9 @@ L: wimax@linuxwimax.org
|
|||
S: Supported
|
||||
W: http://linuxwimax.org
|
||||
F: Documentation/wimax/README.wimax
|
||||
F: include/linux/wimax.h
|
||||
F: include/linux/wimax/debug.h
|
||||
F: include/net/wimax.h
|
||||
F: include/uapi/linux/wimax.h
|
||||
F: net/wimax/
|
||||
|
||||
WISTRON LAPTOP BUTTON DRIVER
|
||||
|
@ -8500,6 +8558,7 @@ F: drivers/*/xen-*front.c
|
|||
F: drivers/xen/
|
||||
F: arch/x86/include/asm/xen/
|
||||
F: include/xen/
|
||||
F: include/uapi/xen/
|
||||
|
||||
XEN HYPERVISOR ARM
|
||||
M: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
|
||||
|
|
2
Makefile
2
Makefile
|
@ -1,7 +1,7 @@
|
|||
VERSION = 3
|
||||
PATCHLEVEL = 8
|
||||
SUBLEVEL = 0
|
||||
EXTRAVERSION = -rc1
|
||||
EXTRAVERSION = -rc3
|
||||
NAME = Terrified Chipmunk
|
||||
|
||||
# *DOCUMENTATION*
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
#ifndef _ASM_AXP_PARPORT_H
|
||||
#define _ASM_AXP_PARPORT_H 1
|
||||
|
||||
static int __devinit parport_pc_find_isa_ports (int autoirq, int autodma);
|
||||
static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma)
|
||||
static int parport_pc_find_isa_ports (int autoirq, int autodma);
|
||||
static int parport_pc_find_nonpci_ports (int autoirq, int autodma)
|
||||
{
|
||||
return parport_pc_find_isa_ports (autoirq, autodma);
|
||||
}
|
||||
|
|
|
@ -59,13 +59,13 @@ struct pci_controller *pci_isa_hose;
|
|||
* Quirks.
|
||||
*/
|
||||
|
||||
static void __devinit quirk_isa_bridge(struct pci_dev *dev)
|
||||
static void quirk_isa_bridge(struct pci_dev *dev)
|
||||
{
|
||||
dev->class = PCI_CLASS_BRIDGE_ISA << 8;
|
||||
}
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82378, quirk_isa_bridge);
|
||||
|
||||
static void __devinit quirk_cypress(struct pci_dev *dev)
|
||||
static void quirk_cypress(struct pci_dev *dev)
|
||||
{
|
||||
/* The Notorious Cy82C693 chip. */
|
||||
|
||||
|
@ -104,7 +104,7 @@ static void __devinit quirk_cypress(struct pci_dev *dev)
|
|||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, quirk_cypress);
|
||||
|
||||
/* Called for each device after PCI setup is done. */
|
||||
static void __devinit pcibios_fixup_final(struct pci_dev *dev)
|
||||
static void pcibios_fixup_final(struct pci_dev *dev)
|
||||
{
|
||||
unsigned int class = dev->class >> 8;
|
||||
|
||||
|
@ -198,8 +198,7 @@ subsys_initcall(pcibios_init);
|
|||
#ifdef ALPHA_RESTORE_SRM_SETUP
|
||||
static struct pdev_srm_saved_conf *srm_saved_configs;
|
||||
|
||||
void __devinit
|
||||
pdev_save_srm_config(struct pci_dev *dev)
|
||||
void pdev_save_srm_config(struct pci_dev *dev)
|
||||
{
|
||||
struct pdev_srm_saved_conf *tmp;
|
||||
static int printed = 0;
|
||||
|
@ -241,8 +240,7 @@ pci_restore_srm_config(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
void __devinit
|
||||
pcibios_fixup_bus(struct pci_bus *bus)
|
||||
void pcibios_fixup_bus(struct pci_bus *bus)
|
||||
{
|
||||
struct pci_dev *dev = bus->self;
|
||||
|
||||
|
|
|
@ -68,7 +68,7 @@ enum ipi_message_type {
|
|||
};
|
||||
|
||||
/* Set to a secondary's cpuid when it comes online. */
|
||||
static int smp_secondary_alive __devinitdata = 0;
|
||||
static int smp_secondary_alive = 0;
|
||||
|
||||
int smp_num_probed; /* Internal processor count */
|
||||
int smp_num_cpus = 1; /* Number that came online. */
|
||||
|
@ -172,7 +172,7 @@ smp_callin(void)
|
|||
}
|
||||
|
||||
/* Wait until hwrpb->txrdy is clear for cpu. Return -1 on timeout. */
|
||||
static int __devinit
|
||||
static int
|
||||
wait_for_txrdy (unsigned long cpumask)
|
||||
{
|
||||
unsigned long timeout;
|
||||
|
@ -468,7 +468,7 @@ smp_prepare_cpus(unsigned int max_cpus)
|
|||
smp_num_cpus = smp_num_probed;
|
||||
}
|
||||
|
||||
void __devinit
|
||||
void
|
||||
smp_prepare_boot_cpu(void)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -303,7 +303,7 @@ titan_late_init(void)
|
|||
|
||||
}
|
||||
|
||||
static int __devinit
|
||||
static int
|
||||
titan_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
u8 intline;
|
||||
|
|
|
@ -371,7 +371,6 @@ config ARCH_CNS3XXX
|
|||
config ARCH_CLPS711X
|
||||
bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
|
||||
select ARCH_REQUIRE_GPIOLIB
|
||||
select ARCH_USES_GETTIMEOFFSET
|
||||
select AUTO_ZRELADDR
|
||||
select CLKDEV_LOOKUP
|
||||
select COMMON_CLK
|
||||
|
|
|
@ -50,17 +50,19 @@ soc {
|
|||
ranges;
|
||||
|
||||
serial@d0012000 {
|
||||
compatible = "ns16550";
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0xd0012000 0x100>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <41>;
|
||||
reg-io-width = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
serial@d0012100 {
|
||||
compatible = "ns16550";
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0xd0012100 0x100>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <42>;
|
||||
reg-io-width = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
|
|
@ -34,7 +34,14 @@ cpu@0 {
|
|||
reg = <0>;
|
||||
clocks = <&cpuclk 0>;
|
||||
};
|
||||
}
|
||||
|
||||
cpu@1 {
|
||||
device_type = "cpu";
|
||||
compatible = "marvell,sheeva-v7";
|
||||
reg = <1>;
|
||||
clocks = <&cpuclk 1>;
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
pinctrl {
|
||||
|
|
|
@ -85,5 +85,13 @@ gpio2: gpio@d0018180 {
|
|||
#interrupts-cells = <2>;
|
||||
interrupts = <24>;
|
||||
};
|
||||
|
||||
ethernet@d0034000 {
|
||||
compatible = "marvell,armada-370-neta";
|
||||
reg = <0xd0034000 0x2500>;
|
||||
interrupts = <14>;
|
||||
clocks = <&gateclk 1>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -100,5 +100,13 @@ gpio2: gpio@d0018180 {
|
|||
#interrupts-cells = <2>;
|
||||
interrupts = <24>;
|
||||
};
|
||||
|
||||
ethernet@d0034000 {
|
||||
compatible = "marvell,armada-370-neta";
|
||||
reg = <0xd0034000 0x2500>;
|
||||
interrupts = <14>;
|
||||
clocks = <&gateclk 1>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -42,17 +42,19 @@ armada-370-xp-pmsu@d0022000 {
|
|||
|
||||
soc {
|
||||
serial@d0012200 {
|
||||
compatible = "ns16550";
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0xd0012200 0x100>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <43>;
|
||||
reg-io-width = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
serial@d0012300 {
|
||||
compatible = "ns16550";
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0xd0012300 0x100>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <44>;
|
||||
reg-io-width = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -93,14 +95,6 @@ ethernet@d0030000 {
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
ethernet@d0034000 {
|
||||
compatible = "marvell,armada-370-neta";
|
||||
reg = <0xd0034000 0x2500>;
|
||||
interrupts = <14>;
|
||||
clocks = <&gateclk 1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
xor@d0060900 {
|
||||
compatible = "marvell,orion-xor";
|
||||
reg = <0xd0060900 0x100
|
||||
|
|
|
@ -170,7 +170,9 @@ gpio8: gpio@a03fe000 {
|
|||
gpio-bank = <8>;
|
||||
};
|
||||
|
||||
pinctrl {
|
||||
pinctrl@80157000 {
|
||||
// This is actually the PRCMU base address
|
||||
reg = <0x80157000 0x2000>;
|
||||
compatible = "stericsson,nmk_pinctrl";
|
||||
};
|
||||
|
||||
|
|
|
@ -117,6 +117,7 @@ gpio2: gpio@e8400 {
|
|||
pinctrl: pinctrl@d0200 {
|
||||
compatible = "marvell,dove-pinctrl";
|
||||
reg = <0xd0200 0x10>;
|
||||
clocks = <&gate_clk 22>;
|
||||
};
|
||||
|
||||
spi0: spi@10600 {
|
||||
|
|
|
@ -32,6 +32,7 @@ cpus {
|
|||
|
||||
cpu@0 {
|
||||
compatible = "arm,cortex-a15";
|
||||
device_type = "cpu";
|
||||
reg = <0>;
|
||||
clocks = <&a9pll>;
|
||||
clock-names = "cpu";
|
||||
|
@ -39,6 +40,7 @@ cpu@0 {
|
|||
|
||||
cpu@1 {
|
||||
compatible = "arm,cortex-a15";
|
||||
device_type = "cpu";
|
||||
reg = <1>;
|
||||
clocks = <&a9pll>;
|
||||
clock-names = "cpu";
|
||||
|
@ -46,6 +48,7 @@ cpu@1 {
|
|||
|
||||
cpu@2 {
|
||||
compatible = "arm,cortex-a15";
|
||||
device_type = "cpu";
|
||||
reg = <2>;
|
||||
clocks = <&a9pll>;
|
||||
clock-names = "cpu";
|
||||
|
@ -53,6 +56,7 @@ cpu@2 {
|
|||
|
||||
cpu@3 {
|
||||
compatible = "arm,cortex-a15";
|
||||
device_type = "cpu";
|
||||
reg = <3>;
|
||||
clocks = <&a9pll>;
|
||||
clock-names = "cpu";
|
||||
|
|
|
@ -26,7 +26,7 @@ memory {
|
|||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc";
|
||||
bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc";
|
||||
};
|
||||
|
||||
sdhci@12530000 {
|
||||
|
|
|
@ -574,7 +574,7 @@ gsc_3: gsc@0x13e30000 {
|
|||
|
||||
hdmi {
|
||||
compatible = "samsung,exynos5-hdmi";
|
||||
reg = <0x14530000 0x100000>;
|
||||
reg = <0x14530000 0x70000>;
|
||||
interrupts = <0 95 0>;
|
||||
};
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ memory {
|
|||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x81000000,8M console=ttySAC2,115200 init=/linuxrc";
|
||||
bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x81000000,8M console=ttySAC0,115200 init=/linuxrc";
|
||||
};
|
||||
|
||||
spi {
|
||||
|
|
|
@ -30,33 +30,37 @@ cpus {
|
|||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu@0 {
|
||||
cpu@900 {
|
||||
compatible = "arm,cortex-a9";
|
||||
reg = <0>;
|
||||
device_type = "cpu";
|
||||
reg = <0x900>;
|
||||
next-level-cache = <&L2>;
|
||||
clocks = <&a9pll>;
|
||||
clock-names = "cpu";
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
cpu@901 {
|
||||
compatible = "arm,cortex-a9";
|
||||
reg = <1>;
|
||||
device_type = "cpu";
|
||||
reg = <0x901>;
|
||||
next-level-cache = <&L2>;
|
||||
clocks = <&a9pll>;
|
||||
clock-names = "cpu";
|
||||
};
|
||||
|
||||
cpu@2 {
|
||||
cpu@902 {
|
||||
compatible = "arm,cortex-a9";
|
||||
reg = <2>;
|
||||
device_type = "cpu";
|
||||
reg = <0x902>;
|
||||
next-level-cache = <&L2>;
|
||||
clocks = <&a9pll>;
|
||||
clock-names = "cpu";
|
||||
};
|
||||
|
||||
cpu@3 {
|
||||
cpu@903 {
|
||||
compatible = "arm,cortex-a9";
|
||||
reg = <3>;
|
||||
device_type = "cpu";
|
||||
reg = <0x903>;
|
||||
next-level-cache = <&L2>;
|
||||
clocks = <&a9pll>;
|
||||
clock-names = "cpu";
|
||||
|
|
|
@ -39,17 +39,17 @@ pinctrl@80018000 {
|
|||
hog_pins_a: hog@0 {
|
||||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
0x2013 /* MX23_PAD_SSP1_DETECT__GPIO_2_1 */
|
||||
0x0113 /* MX23_PAD_GPMI_ALE__GPIO_0_17 */
|
||||
>;
|
||||
fsl,drive-strength = <0>;
|
||||
fsl,voltage = <1>;
|
||||
fsl,pull-up = <0>;
|
||||
};
|
||||
|
||||
led_pin_gpio0_17: led_gpio0_17@0 {
|
||||
led_pin_gpio2_1: led_gpio2_1@0 {
|
||||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
0x0113 /* MX23_PAD_GPMI_ALE__GPIO_0_17 */
|
||||
0x2013 /* MX23_PAD_SSP1_DETECT__GPIO_2_1 */
|
||||
>;
|
||||
fsl,drive-strength = <0>;
|
||||
fsl,voltage = <1>;
|
||||
|
@ -110,7 +110,7 @@ reg_usb0_vbus: usb0_vbus {
|
|||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pin_gpio0_17>;
|
||||
pinctrl-0 = <&led_pin_gpio2_1>;
|
||||
|
||||
user {
|
||||
label = "green";
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
/ {
|
||||
model = "Buglabs i.MX31 Bug 1.x";
|
||||
compatible = "fsl,imx31-bug", "fsl,imx31";
|
||||
compatible = "buglabs,imx31-bug", "fsl,imx31";
|
||||
|
||||
memory {
|
||||
reg = <0x80000000 0x8000000>; /* 128M */
|
||||
|
|
|
@ -492,7 +492,7 @@ can2: can@53fcc000 {
|
|||
compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan";
|
||||
reg = <0x53fcc000 0x4000>;
|
||||
interrupts = <83>;
|
||||
clocks = <&clks 158>, <&clks 157>;
|
||||
clocks = <&clks 87>, <&clks 86>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
|
@ -39,6 +39,7 @@ i2c@11100 {
|
|||
#size-cells = <0>;
|
||||
interrupts = <32>;
|
||||
clock-frequency = <100000>;
|
||||
clocks = <&gate_clk 7>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -82,4 +82,21 @@ wifi2 {
|
|||
gpios = <&gpio1 16 1>;
|
||||
};
|
||||
};
|
||||
regulators {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
sata0_power: regulator@1 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <1>;
|
||||
regulator-name = "SATA0 Power";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
enable-active-high;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
gpio = <&gpio1 4 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -144,6 +144,7 @@ ehci@50000 {
|
|||
compatible = "marvell,orion-ehci";
|
||||
reg = <0x50000 0x1000>;
|
||||
interrupts = <19>;
|
||||
clocks = <&gate_clk 3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
|
|
@ -19,6 +19,10 @@ rtc {
|
|||
interrupts = <11>;
|
||||
};
|
||||
|
||||
watchdog {
|
||||
compatible = "ti,twl4030-wdt";
|
||||
};
|
||||
|
||||
vdac: regulator-vdac {
|
||||
compatible = "ti,twl4030-vdac";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
|
|
|
@ -686,8 +686,7 @@ sa1111_init_one_child(struct sa1111 *sachip, struct resource *parent,
|
|||
* %-EINVAL no platform data passed
|
||||
* %0 successful.
|
||||
*/
|
||||
static int __devinit
|
||||
__sa1111_probe(struct device *me, struct resource *mem, int irq)
|
||||
static int __sa1111_probe(struct device *me, struct resource *mem, int irq)
|
||||
{
|
||||
struct sa1111_platform_data *pd = me->platform_data;
|
||||
struct sa1111 *sachip;
|
||||
|
@ -1011,7 +1010,7 @@ static int sa1111_resume(struct platform_device *dev)
|
|||
#define sa1111_resume NULL
|
||||
#endif
|
||||
|
||||
static int __devinit sa1111_probe(struct platform_device *pdev)
|
||||
static int sa1111_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct resource *mem;
|
||||
int irq;
|
||||
|
|
|
@ -176,7 +176,7 @@ static int scoop_resume(struct platform_device *dev)
|
|||
#define scoop_resume NULL
|
||||
#endif
|
||||
|
||||
static int __devinit scoop_probe(struct platform_device *pdev)
|
||||
static int scoop_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct scoop_dev *devptr;
|
||||
struct scoop_config *inf;
|
||||
|
@ -243,7 +243,7 @@ static int __devinit scoop_probe(struct platform_device *pdev)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int __devexit scoop_remove(struct platform_device *pdev)
|
||||
static int scoop_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct scoop_dev *sdev = platform_get_drvdata(pdev);
|
||||
int ret;
|
||||
|
@ -268,7 +268,7 @@ static int __devexit scoop_remove(struct platform_device *pdev)
|
|||
|
||||
static struct platform_driver scoop_driver = {
|
||||
.probe = scoop_probe,
|
||||
.remove = __devexit_p(scoop_remove),
|
||||
.remove = scoop_remove,
|
||||
.suspend = scoop_suspend,
|
||||
.resume = scoop_resume,
|
||||
.driver = {
|
||||
|
|
|
@ -33,9 +33,7 @@ CONFIG_MVNETA=y
|
|||
CONFIG_MARVELL_PHY=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_OF_PLATFORM=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_MV64XXX=y
|
||||
CONFIG_SERIAL_8250_DW=y
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
|
|
|
@ -78,7 +78,7 @@ void pcibios_report_status(u_int status_mask, int warn)
|
|||
* Bug 3 is responsible for the sound DMA grinding to a halt. We now
|
||||
* live with bug 2.
|
||||
*/
|
||||
static void __devinit pci_fixup_83c553(struct pci_dev *dev)
|
||||
static void pci_fixup_83c553(struct pci_dev *dev)
|
||||
{
|
||||
/*
|
||||
* Set memory region to start at address 0, and enable IO
|
||||
|
@ -130,7 +130,7 @@ static void __devinit pci_fixup_83c553(struct pci_dev *dev)
|
|||
}
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND, PCI_DEVICE_ID_WINBOND_83C553, pci_fixup_83c553);
|
||||
|
||||
static void __devinit pci_fixup_unassign(struct pci_dev *dev)
|
||||
static void pci_fixup_unassign(struct pci_dev *dev)
|
||||
{
|
||||
dev->resource[0].end -= dev->resource[0].start;
|
||||
dev->resource[0].start = 0;
|
||||
|
@ -142,7 +142,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND2, PCI_DEVICE_ID_WINBOND2_89C940F,
|
|||
* if it is the host bridge by marking it as such. These resources are of
|
||||
* no consequence to the PCI layer (they are handled elsewhere).
|
||||
*/
|
||||
static void __devinit pci_fixup_dec21285(struct pci_dev *dev)
|
||||
static void pci_fixup_dec21285(struct pci_dev *dev)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -161,7 +161,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21285, pci_fixup_d
|
|||
/*
|
||||
* PCI IDE controllers use non-standard I/O port decoding, respect it.
|
||||
*/
|
||||
static void __devinit pci_fixup_ide_bases(struct pci_dev *dev)
|
||||
static void pci_fixup_ide_bases(struct pci_dev *dev)
|
||||
{
|
||||
struct resource *r;
|
||||
int i;
|
||||
|
@ -182,7 +182,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pci_fixup_ide_bases);
|
|||
/*
|
||||
* Put the DEC21142 to sleep
|
||||
*/
|
||||
static void __devinit pci_fixup_dec21142(struct pci_dev *dev)
|
||||
static void pci_fixup_dec21142(struct pci_dev *dev)
|
||||
{
|
||||
pci_write_config_dword(dev, 0x40, 0x80000000);
|
||||
}
|
||||
|
@ -204,7 +204,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21142, pci_fixup_d
|
|||
* functional. However, The CY82C693U _does not work_ in bus
|
||||
* master mode without locking the PCI bus solid.
|
||||
*/
|
||||
static void __devinit pci_fixup_cy82c693(struct pci_dev *dev)
|
||||
static void pci_fixup_cy82c693(struct pci_dev *dev)
|
||||
{
|
||||
if ((dev->class >> 8) == PCI_CLASS_STORAGE_IDE) {
|
||||
u32 base0, base1;
|
||||
|
@ -254,7 +254,7 @@ static void __devinit pci_fixup_cy82c693(struct pci_dev *dev)
|
|||
}
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, pci_fixup_cy82c693);
|
||||
|
||||
static void __devinit pci_fixup_it8152(struct pci_dev *dev)
|
||||
static void pci_fixup_it8152(struct pci_dev *dev)
|
||||
{
|
||||
int i;
|
||||
/* fixup for ITE 8152 devices */
|
||||
|
@ -361,9 +361,7 @@ void pcibios_fixup_bus(struct pci_bus *bus)
|
|||
printk(KERN_INFO "PCI: bus%d: Fast back to back transfers %sabled\n",
|
||||
bus->number, (features & PCI_COMMAND_FAST_BACK) ? "en" : "dis");
|
||||
}
|
||||
#ifdef CONFIG_HOTPLUG
|
||||
EXPORT_SYMBOL(pcibios_fixup_bus);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Swizzle the device pin each time we cross a bridge. If a platform does
|
||||
|
@ -380,7 +378,7 @@ EXPORT_SYMBOL(pcibios_fixup_bus);
|
|||
* PCI standard swizzle is implemented on plug-in cards and Cardbus based
|
||||
* PCI extenders, so it can not be ignored.
|
||||
*/
|
||||
static u8 __devinit pcibios_swizzle(struct pci_dev *dev, u8 *pin)
|
||||
static u8 pcibios_swizzle(struct pci_dev *dev, u8 *pin)
|
||||
{
|
||||
struct pci_sys_data *sys = dev->sysdata;
|
||||
int slot, oldpin = *pin;
|
||||
|
|
|
@ -339,7 +339,7 @@ static struct miscdevice etb_miscdev = {
|
|||
.fops = &etb_fops,
|
||||
};
|
||||
|
||||
static int __devinit etb_probe(struct amba_device *dev, const struct amba_id *id)
|
||||
static int etb_probe(struct amba_device *dev, const struct amba_id *id)
|
||||
{
|
||||
struct tracectx *t = &tracer;
|
||||
int ret = 0;
|
||||
|
@ -531,7 +531,7 @@ static ssize_t trace_mode_store(struct kobject *kobj,
|
|||
static struct kobj_attribute trace_mode_attr =
|
||||
__ATTR(trace_mode, 0644, trace_mode_show, trace_mode_store);
|
||||
|
||||
static int __devinit etm_probe(struct amba_device *dev, const struct amba_id *id)
|
||||
static int etm_probe(struct amba_device *dev, const struct amba_id *id)
|
||||
{
|
||||
struct tracectx *t = &tracer;
|
||||
int ret = 0;
|
||||
|
|
|
@ -334,7 +334,7 @@ ENTRY(secondary_startup)
|
|||
* as it has already been validated by the primary processor.
|
||||
*/
|
||||
#ifdef CONFIG_ARM_VIRT_EXT
|
||||
bl __hyp_stub_install
|
||||
bl __hyp_stub_install_secondary
|
||||
#endif
|
||||
safe_svcmode_maskall r9
|
||||
|
||||
|
|
|
@ -99,7 +99,7 @@ ENTRY(__hyp_stub_install_secondary)
|
|||
* immediately.
|
||||
*/
|
||||
compare_cpu_mode_with_primary r4, r5, r6, r7
|
||||
bxne lr
|
||||
movne pc, lr
|
||||
|
||||
/*
|
||||
* Once we have given up on one CPU, we do not try to install the
|
||||
|
@ -111,7 +111,7 @@ ENTRY(__hyp_stub_install_secondary)
|
|||
*/
|
||||
|
||||
cmp r4, #HYP_MODE
|
||||
bxne lr @ give up if the CPU is not in HYP mode
|
||||
movne pc, lr @ give up if the CPU is not in HYP mode
|
||||
|
||||
/*
|
||||
* Configure HSCTLR to set correct exception endianness/instruction set
|
||||
|
@ -120,7 +120,8 @@ ENTRY(__hyp_stub_install_secondary)
|
|||
* Eventually, CPU-specific code might be needed -- assume not for now
|
||||
*
|
||||
* This code relies on the "eret" instruction to synchronize the
|
||||
* various coprocessor accesses.
|
||||
* various coprocessor accesses. This is done when we switch to SVC
|
||||
* (see safe_svcmode_maskall).
|
||||
*/
|
||||
@ Now install the hypervisor stub:
|
||||
adr r7, __hyp_stub_vectors
|
||||
|
@ -155,14 +156,7 @@ THUMB( orr r7, #(1 << 30) ) @ HSCTLR.TE
|
|||
1:
|
||||
#endif
|
||||
|
||||
bic r7, r4, #MODE_MASK
|
||||
orr r7, r7, #SVC_MODE
|
||||
THUMB( orr r7, r7, #PSR_T_BIT )
|
||||
msr spsr_cxsf, r7 @ This is SPSR_hyp.
|
||||
|
||||
__MSR_ELR_HYP(14) @ msr elr_hyp, lr
|
||||
__ERET @ return, switching to SVC mode
|
||||
@ The boot CPU mode is left in r4.
|
||||
bx lr @ The boot CPU mode is left in r4.
|
||||
ENDPROC(__hyp_stub_install_secondary)
|
||||
|
||||
__hyp_stub_do_trap:
|
||||
|
@ -200,7 +194,7 @@ ENDPROC(__hyp_get_vectors)
|
|||
@ fall through
|
||||
ENTRY(__hyp_set_vectors)
|
||||
__HVC(0)
|
||||
bx lr
|
||||
mov pc, lr
|
||||
ENDPROC(__hyp_set_vectors)
|
||||
|
||||
#ifndef ZIMAGE
|
||||
|
|
|
@ -132,7 +132,7 @@ static int cpu_pmu_request_irq(struct arm_pmu *cpu_pmu, irq_handler_t handler)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void __devinit cpu_pmu_init(struct arm_pmu *cpu_pmu)
|
||||
static void cpu_pmu_init(struct arm_pmu *cpu_pmu)
|
||||
{
|
||||
int cpu;
|
||||
for_each_possible_cpu(cpu) {
|
||||
|
@ -178,7 +178,7 @@ static struct notifier_block __cpuinitdata cpu_pmu_hotplug_notifier = {
|
|||
/*
|
||||
* PMU platform driver and devicetree bindings.
|
||||
*/
|
||||
static struct of_device_id __devinitdata cpu_pmu_of_device_ids[] = {
|
||||
static struct of_device_id cpu_pmu_of_device_ids[] = {
|
||||
{.compatible = "arm,cortex-a15-pmu", .data = armv7_a15_pmu_init},
|
||||
{.compatible = "arm,cortex-a9-pmu", .data = armv7_a9_pmu_init},
|
||||
{.compatible = "arm,cortex-a8-pmu", .data = armv7_a8_pmu_init},
|
||||
|
@ -190,7 +190,7 @@ static struct of_device_id __devinitdata cpu_pmu_of_device_ids[] = {
|
|||
{},
|
||||
};
|
||||
|
||||
static struct platform_device_id __devinitdata cpu_pmu_plat_device_ids[] = {
|
||||
static struct platform_device_id cpu_pmu_plat_device_ids[] = {
|
||||
{.name = "arm-pmu"},
|
||||
{},
|
||||
};
|
||||
|
@ -198,7 +198,7 @@ static struct platform_device_id __devinitdata cpu_pmu_plat_device_ids[] = {
|
|||
/*
|
||||
* CPU PMU identification and probing.
|
||||
*/
|
||||
static int __devinit probe_current_pmu(struct arm_pmu *pmu)
|
||||
static int probe_current_pmu(struct arm_pmu *pmu)
|
||||
{
|
||||
int cpu = get_cpu();
|
||||
unsigned long cpuid = read_cpuid_id();
|
||||
|
@ -252,7 +252,7 @@ static int __devinit probe_current_pmu(struct arm_pmu *pmu)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int __devinit cpu_pmu_device_probe(struct platform_device *pdev)
|
||||
static int cpu_pmu_device_probe(struct platform_device *pdev)
|
||||
{
|
||||
const struct of_device_id *of_id;
|
||||
int (*init_fn)(struct arm_pmu *);
|
||||
|
|
|
@ -653,7 +653,7 @@ static int armv6_map_event(struct perf_event *event)
|
|||
&armv6_perf_cache_map, 0xFF);
|
||||
}
|
||||
|
||||
static int __devinit armv6pmu_init(struct arm_pmu *cpu_pmu)
|
||||
static int armv6pmu_init(struct arm_pmu *cpu_pmu)
|
||||
{
|
||||
cpu_pmu->name = "v6";
|
||||
cpu_pmu->handle_irq = armv6pmu_handle_irq;
|
||||
|
@ -685,7 +685,7 @@ static int armv6mpcore_map_event(struct perf_event *event)
|
|||
&armv6mpcore_perf_cache_map, 0xFF);
|
||||
}
|
||||
|
||||
static int __devinit armv6mpcore_pmu_init(struct arm_pmu *cpu_pmu)
|
||||
static int armv6mpcore_pmu_init(struct arm_pmu *cpu_pmu)
|
||||
{
|
||||
cpu_pmu->name = "v6mpcore";
|
||||
cpu_pmu->handle_irq = armv6pmu_handle_irq;
|
||||
|
|
|
@ -1226,7 +1226,7 @@ static void armv7pmu_init(struct arm_pmu *cpu_pmu)
|
|||
cpu_pmu->max_period = (1LLU << 32) - 1;
|
||||
};
|
||||
|
||||
static u32 __devinit armv7_read_num_pmnc_events(void)
|
||||
static u32 armv7_read_num_pmnc_events(void)
|
||||
{
|
||||
u32 nb_cnt;
|
||||
|
||||
|
@ -1237,7 +1237,7 @@ static u32 __devinit armv7_read_num_pmnc_events(void)
|
|||
return nb_cnt + 1;
|
||||
}
|
||||
|
||||
static int __devinit armv7_a8_pmu_init(struct arm_pmu *cpu_pmu)
|
||||
static int armv7_a8_pmu_init(struct arm_pmu *cpu_pmu)
|
||||
{
|
||||
armv7pmu_init(cpu_pmu);
|
||||
cpu_pmu->name = "ARMv7 Cortex-A8";
|
||||
|
@ -1246,7 +1246,7 @@ static int __devinit armv7_a8_pmu_init(struct arm_pmu *cpu_pmu)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int __devinit armv7_a9_pmu_init(struct arm_pmu *cpu_pmu)
|
||||
static int armv7_a9_pmu_init(struct arm_pmu *cpu_pmu)
|
||||
{
|
||||
armv7pmu_init(cpu_pmu);
|
||||
cpu_pmu->name = "ARMv7 Cortex-A9";
|
||||
|
@ -1255,7 +1255,7 @@ static int __devinit armv7_a9_pmu_init(struct arm_pmu *cpu_pmu)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int __devinit armv7_a5_pmu_init(struct arm_pmu *cpu_pmu)
|
||||
static int armv7_a5_pmu_init(struct arm_pmu *cpu_pmu)
|
||||
{
|
||||
armv7pmu_init(cpu_pmu);
|
||||
cpu_pmu->name = "ARMv7 Cortex-A5";
|
||||
|
@ -1264,7 +1264,7 @@ static int __devinit armv7_a5_pmu_init(struct arm_pmu *cpu_pmu)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int __devinit armv7_a15_pmu_init(struct arm_pmu *cpu_pmu)
|
||||
static int armv7_a15_pmu_init(struct arm_pmu *cpu_pmu)
|
||||
{
|
||||
armv7pmu_init(cpu_pmu);
|
||||
cpu_pmu->name = "ARMv7 Cortex-A15";
|
||||
|
@ -1274,7 +1274,7 @@ static int __devinit armv7_a15_pmu_init(struct arm_pmu *cpu_pmu)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int __devinit armv7_a7_pmu_init(struct arm_pmu *cpu_pmu)
|
||||
static int armv7_a7_pmu_init(struct arm_pmu *cpu_pmu)
|
||||
{
|
||||
armv7pmu_init(cpu_pmu);
|
||||
cpu_pmu->name = "ARMv7 Cortex-A7";
|
||||
|
|
|
@ -440,7 +440,7 @@ static int xscale_map_event(struct perf_event *event)
|
|||
&xscale_perf_cache_map, 0xFF);
|
||||
}
|
||||
|
||||
static int __devinit xscale1pmu_init(struct arm_pmu *cpu_pmu)
|
||||
static int xscale1pmu_init(struct arm_pmu *cpu_pmu)
|
||||
{
|
||||
cpu_pmu->name = "xscale1";
|
||||
cpu_pmu->handle_irq = xscale1pmu_handle_irq;
|
||||
|
@ -810,7 +810,7 @@ static inline void xscale2pmu_write_counter(struct perf_event *event, u32 val)
|
|||
}
|
||||
}
|
||||
|
||||
static int __devinit xscale2pmu_init(struct arm_pmu *cpu_pmu)
|
||||
static int xscale2pmu_init(struct arm_pmu *cpu_pmu)
|
||||
{
|
||||
cpu_pmu->name = "xscale2";
|
||||
cpu_pmu->handle_irq = xscale2pmu_handle_irq;
|
||||
|
|
|
@ -358,7 +358,7 @@ static int cpld_video_probe(struct i2c_client *client,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int __devexit cpld_video_remove(struct i2c_client *client)
|
||||
static int cpld_video_remove(struct i2c_client *client)
|
||||
{
|
||||
cpld_client = NULL;
|
||||
return 0;
|
||||
|
|
|
@ -256,7 +256,7 @@ static int cdce_probe(struct i2c_client *client,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int __devexit cdce_remove(struct i2c_client *client)
|
||||
static int cdce_remove(struct i2c_client *client)
|
||||
{
|
||||
cdce_i2c_client = NULL;
|
||||
return 0;
|
||||
|
@ -274,7 +274,7 @@ static struct i2c_driver cdce_driver = {
|
|||
.name = "cdce949",
|
||||
},
|
||||
.probe = cdce_probe,
|
||||
.remove = __devexit_p(cdce_remove),
|
||||
.remove = cdce_remove,
|
||||
.id_table = cdce_id,
|
||||
};
|
||||
|
||||
|
|
|
@ -135,7 +135,7 @@ static struct pci_ops pcie_ops = {
|
|||
.write = pcie_wr_conf,
|
||||
};
|
||||
|
||||
static void __devinit rc_pci_fixup(struct pci_dev *dev)
|
||||
static void rc_pci_fixup(struct pci_dev *dev)
|
||||
{
|
||||
/*
|
||||
* Prevent enumeration of root complex.
|
||||
|
|
|
@ -74,6 +74,8 @@ config SOC_EXYNOS5440
|
|||
depends on ARCH_EXYNOS5
|
||||
select ARM_ARCH_TIMER
|
||||
select AUTO_ZRELADDR
|
||||
select PINCTRL
|
||||
select PINCTRL_EXYNOS5440
|
||||
help
|
||||
Enable EXYNOS5440 SoC support
|
||||
|
||||
|
|
|
@ -424,11 +424,18 @@ static void __init exynos5_init_clocks(int xtal)
|
|||
{
|
||||
printk(KERN_DEBUG "%s: initializing clocks\n", __func__);
|
||||
|
||||
/* EXYNOS5440 can support only common clock framework */
|
||||
|
||||
if (soc_is_exynos5440())
|
||||
return;
|
||||
|
||||
#ifdef CONFIG_SOC_EXYNOS5250
|
||||
s3c24xx_register_baseclocks(xtal);
|
||||
s5p_register_clocks(xtal);
|
||||
|
||||
exynos5_register_clocks();
|
||||
exynos5_setup_clocks();
|
||||
#endif
|
||||
}
|
||||
|
||||
#define COMBINER_ENABLE_SET 0x0
|
||||
|
|
|
@ -135,7 +135,7 @@ static struct sys_timer highbank_timer = {
|
|||
|
||||
static void highbank_power_off(void)
|
||||
{
|
||||
hignbank_set_pwr_shutdown();
|
||||
highbank_set_pwr_shutdown();
|
||||
|
||||
while (1)
|
||||
cpu_do_idle();
|
||||
|
|
|
@ -30,7 +30,7 @@ void __ref highbank_cpu_die(unsigned int cpu)
|
|||
{
|
||||
flush_cache_all();
|
||||
|
||||
highbank_set_cpu_jump(cpu, secondary_startup);
|
||||
highbank_set_cpu_jump(cpu, phys_to_virt(0));
|
||||
highbank_set_core_pwr();
|
||||
|
||||
cpu_do_idle();
|
||||
|
|
|
@ -32,6 +32,7 @@ static void __cpuinit highbank_secondary_init(unsigned int cpu)
|
|||
|
||||
static int __cpuinit highbank_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
highbank_set_cpu_jump(cpu, secondary_startup);
|
||||
gic_raise_softirq(cpumask_of(cpu), 0);
|
||||
return 0;
|
||||
}
|
||||
|
@ -61,19 +62,8 @@ static void __init highbank_smp_init_cpus(void)
|
|||
|
||||
static void __init highbank_smp_prepare_cpus(unsigned int max_cpus)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (scu_base_addr)
|
||||
scu_enable(scu_base_addr);
|
||||
|
||||
/*
|
||||
* Write the address of secondary startup into the jump table
|
||||
* The cores are in wfi and wait until they receive a soft interrupt
|
||||
* and a non-zero value to jump to. Then the secondary CPU branches
|
||||
* to this address.
|
||||
*/
|
||||
for (i = 1; i < max_cpus; i++)
|
||||
highbank_set_cpu_jump(i, secondary_startup);
|
||||
}
|
||||
|
||||
struct smp_operations highbank_smp_ops __initdata = {
|
||||
|
|
|
@ -14,10 +14,12 @@
|
|||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <linux/cpu_pm.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/suspend.h>
|
||||
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/proc-fns.h>
|
||||
#include <asm/suspend.h>
|
||||
|
||||
|
@ -26,16 +28,31 @@
|
|||
|
||||
static int highbank_suspend_finish(unsigned long val)
|
||||
{
|
||||
outer_flush_all();
|
||||
outer_disable();
|
||||
|
||||
highbank_set_pwr_suspend();
|
||||
|
||||
cpu_do_idle();
|
||||
|
||||
highbank_clear_pwr_request();
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int highbank_pm_enter(suspend_state_t state)
|
||||
{
|
||||
hignbank_set_pwr_suspend();
|
||||
cpu_pm_enter();
|
||||
cpu_cluster_pm_enter();
|
||||
|
||||
highbank_set_cpu_jump(0, cpu_resume);
|
||||
cpu_suspend(0, highbank_suspend_finish);
|
||||
|
||||
cpu_cluster_pm_exit();
|
||||
cpu_pm_exit();
|
||||
|
||||
highbank_smc1(0x102, 0x1);
|
||||
if (scu_base_addr)
|
||||
scu_enable(scu_base_addr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -44,28 +44,43 @@ static inline void highbank_set_core_pwr(void)
|
|||
writel_relaxed(1, sregs_base + SREG_CPU_PWR_CTRL(cpu));
|
||||
}
|
||||
|
||||
static inline void hignbank_set_pwr_suspend(void)
|
||||
static inline void highbank_clear_core_pwr(void)
|
||||
{
|
||||
int cpu = cpu_logical_map(smp_processor_id());
|
||||
if (scu_base_addr)
|
||||
scu_power_mode(scu_base_addr, SCU_PM_NORMAL);
|
||||
else
|
||||
writel_relaxed(0, sregs_base + SREG_CPU_PWR_CTRL(cpu));
|
||||
}
|
||||
|
||||
static inline void highbank_set_pwr_suspend(void)
|
||||
{
|
||||
writel(HB_PWR_SUSPEND, sregs_base + HB_SREG_A9_PWR_REQ);
|
||||
highbank_set_core_pwr();
|
||||
}
|
||||
|
||||
static inline void hignbank_set_pwr_shutdown(void)
|
||||
static inline void highbank_set_pwr_shutdown(void)
|
||||
{
|
||||
writel(HB_PWR_SHUTDOWN, sregs_base + HB_SREG_A9_PWR_REQ);
|
||||
highbank_set_core_pwr();
|
||||
}
|
||||
|
||||
static inline void hignbank_set_pwr_soft_reset(void)
|
||||
static inline void highbank_set_pwr_soft_reset(void)
|
||||
{
|
||||
writel(HB_PWR_SOFT_RESET, sregs_base + HB_SREG_A9_PWR_REQ);
|
||||
highbank_set_core_pwr();
|
||||
}
|
||||
|
||||
static inline void hignbank_set_pwr_hard_reset(void)
|
||||
static inline void highbank_set_pwr_hard_reset(void)
|
||||
{
|
||||
writel(HB_PWR_HARD_RESET, sregs_base + HB_SREG_A9_PWR_REQ);
|
||||
highbank_set_core_pwr();
|
||||
}
|
||||
|
||||
static inline void highbank_clear_pwr_request(void)
|
||||
{
|
||||
writel(~0UL, sregs_base + HB_SREG_A9_PWR_REQ);
|
||||
highbank_clear_core_pwr();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -22,9 +22,9 @@
|
|||
void highbank_restart(char mode, const char *cmd)
|
||||
{
|
||||
if (mode == 'h')
|
||||
hignbank_set_pwr_hard_reset();
|
||||
highbank_set_pwr_hard_reset();
|
||||
else
|
||||
hignbank_set_pwr_soft_reset();
|
||||
highbank_set_pwr_soft_reset();
|
||||
|
||||
while (1)
|
||||
cpu_do_idle();
|
||||
|
|
|
@ -188,7 +188,7 @@ static struct cpufreq_driver mxc_driver = {
|
|||
.name = "imx",
|
||||
};
|
||||
|
||||
static int __devinit mxc_cpufreq_driver_init(void)
|
||||
static int mxc_cpufreq_driver_init(void)
|
||||
{
|
||||
return cpufreq_register_driver(&mxc_driver);
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#define BP_MMDC_MAPSR_PSD 0
|
||||
#define BP_MMDC_MAPSR_PSS 4
|
||||
|
||||
static int __devinit imx_mmdc_probe(struct platform_device *pdev)
|
||||
static int imx_mmdc_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device_node *np = pdev->dev.of_node;
|
||||
void __iomem *mmdc_base, *reg;
|
||||
|
|
|
@ -504,7 +504,7 @@ iop13xx_pci_abort(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
|
|||
|
||||
/* Scan an IOP13XX PCI bus. nr selects which ATU we use.
|
||||
*/
|
||||
struct pci_bus * __devinit iop13xx_scan_bus(int nr, struct pci_sys_data *sys)
|
||||
struct pci_bus *iop13xx_scan_bus(int nr, struct pci_sys_data *sys)
|
||||
{
|
||||
int which_atu;
|
||||
struct pci_bus *bus = NULL;
|
||||
|
|
|
@ -67,6 +67,10 @@ static void __init kirkwood_legacy_clk_init(void)
|
|||
orion_clkdev_add(NULL, "mv643xx_eth_port.1",
|
||||
of_clk_get_from_provider(&clkspec));
|
||||
|
||||
clkspec.args[0] = CGC_BIT_SDIO;
|
||||
orion_clkdev_add(NULL, "mvsdio",
|
||||
of_clk_get_from_provider(&clkspec));
|
||||
|
||||
}
|
||||
|
||||
static void __init kirkwood_of_clk_init(void)
|
||||
|
|
|
@ -64,8 +64,6 @@ static unsigned int topkick_mpp_config[] __initdata = {
|
|||
0
|
||||
};
|
||||
|
||||
#define TOPKICK_SATA0_PWR_ENABLE 36
|
||||
|
||||
void __init usi_topkick_init(void)
|
||||
{
|
||||
/*
|
||||
|
@ -73,8 +71,6 @@ void __init usi_topkick_init(void)
|
|||
*/
|
||||
kirkwood_mpp_conf(topkick_mpp_config);
|
||||
|
||||
/* SATA0 power enable */
|
||||
gpio_set_value(TOPKICK_SATA0_PWR_ENABLE, 1);
|
||||
|
||||
kirkwood_ge00_init(&topkick_ge00_data);
|
||||
kirkwood_sdio_init(&topkick_mvsdio_data);
|
||||
|
|
|
@ -214,7 +214,7 @@ static int __init kirkwood_pcie_setup(int nr, struct pci_sys_data *sys)
|
|||
* PCI_CLASS_BRIDGE_HOST or Linux will errantly try to process the BAR's on
|
||||
* the device. Decoding setup is handled by the orion code.
|
||||
*/
|
||||
static void __devinit rc_pci_fixup(struct pci_dev *dev)
|
||||
static void rc_pci_fixup(struct pci_dev *dev)
|
||||
{
|
||||
if (dev->bus->parent == NULL && dev->devfn == 0) {
|
||||
int i;
|
||||
|
|
|
@ -92,7 +92,7 @@ static struct i2c_board_info acs5k_i2c_devs[] __initdata = {
|
|||
},
|
||||
};
|
||||
|
||||
static void __devinit acs5k_i2c_init(void)
|
||||
static void acs5k_i2c_init(void)
|
||||
{
|
||||
/* The gpio interface */
|
||||
platform_device_register(&acs5k_i2c_device);
|
||||
|
|
|
@ -61,7 +61,7 @@ struct gen_pool *sram_get_gpool(char *pool_name)
|
|||
}
|
||||
EXPORT_SYMBOL(sram_get_gpool);
|
||||
|
||||
static int __devinit sram_probe(struct platform_device *pdev)
|
||||
static int sram_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct sram_platdata *pdata = pdev->dev.platform_data;
|
||||
struct sram_bank_info *info;
|
||||
|
@ -125,7 +125,7 @@ static int __devinit sram_probe(struct platform_device *pdev)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int __devexit sram_remove(struct platform_device *pdev)
|
||||
static int sram_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct sram_bank_info *info;
|
||||
|
||||
|
|
|
@ -120,7 +120,7 @@ int msm_proc_comm(unsigned cmd, unsigned *data1, unsigned *data2)
|
|||
* and unknown state. This function should be called early to
|
||||
* wait on the ARM9.
|
||||
*/
|
||||
void __devinit proc_comm_boot_wait(void)
|
||||
void proc_comm_boot_wait(void)
|
||||
{
|
||||
void __iomem *base = MSM_SHARED_RAM_BASE;
|
||||
|
||||
|
|
|
@ -988,7 +988,7 @@ int smd_core_init(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int __devinit msm_smd_probe(struct platform_device *pdev)
|
||||
static int msm_smd_probe(struct platform_device *pdev)
|
||||
{
|
||||
/*
|
||||
* If we haven't waited for the ARM9 to boot up till now,
|
||||
|
|
|
@ -173,7 +173,7 @@ static struct pci_ops pcie_ops = {
|
|||
.write = pcie_wr_conf,
|
||||
};
|
||||
|
||||
static void __devinit rc_pci_fixup(struct pci_dev *dev)
|
||||
static void rc_pci_fixup(struct pci_dev *dev)
|
||||
{
|
||||
/*
|
||||
* Prevent enumeration of root complex.
|
||||
|
|
|
@ -27,7 +27,6 @@
|
|||
#include <linux/pinctrl/machine.h>
|
||||
#include <linux/platform_data/pinctrl-nomadik.h>
|
||||
#include <linux/platform_data/clocksource-nomadik-mtu.h>
|
||||
#include <linux/platform_data/mtd-nomadik-nand.h>
|
||||
#include <asm/hardware/vic.h>
|
||||
#include <asm/sizes.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
|
|
@ -22,49 +22,49 @@
|
|||
|
||||
#include <mach/hardware.h>
|
||||
|
||||
#define IRQ_VIC_START 1 /* first VIC interrupt is 1 */
|
||||
#define IRQ_VIC_START 32 /* first VIC interrupt is 1 */
|
||||
|
||||
/*
|
||||
* Interrupt numbers generic for all Nomadik Chip cuts
|
||||
*/
|
||||
#define IRQ_WATCHDOG 1
|
||||
#define IRQ_SOFTINT 2
|
||||
#define IRQ_CRYPTO 3
|
||||
#define IRQ_OWM 4
|
||||
#define IRQ_MTU0 5
|
||||
#define IRQ_MTU1 6
|
||||
#define IRQ_GPIO0 7
|
||||
#define IRQ_GPIO1 8
|
||||
#define IRQ_GPIO2 9
|
||||
#define IRQ_GPIO3 10
|
||||
#define IRQ_RTC_RTT 11
|
||||
#define IRQ_SSP 12
|
||||
#define IRQ_UART0 13
|
||||
#define IRQ_DMA1 14
|
||||
#define IRQ_CLCD_MDIF 15
|
||||
#define IRQ_DMA0 16
|
||||
#define IRQ_PWRFAIL 17
|
||||
#define IRQ_UART1 18
|
||||
#define IRQ_FIRDA 19
|
||||
#define IRQ_MSP0 20
|
||||
#define IRQ_I2C0 21
|
||||
#define IRQ_I2C1 22
|
||||
#define IRQ_SDMMC 23
|
||||
#define IRQ_USBOTG 24
|
||||
#define IRQ_SVA_IT0 25
|
||||
#define IRQ_SVA_IT1 26
|
||||
#define IRQ_SAA_IT0 27
|
||||
#define IRQ_SAA_IT1 28
|
||||
#define IRQ_UART2 29
|
||||
#define IRQ_MSP2 30
|
||||
#define IRQ_L2CC 49
|
||||
#define IRQ_HPI 50
|
||||
#define IRQ_SKE 51
|
||||
#define IRQ_KP 52
|
||||
#define IRQ_MEMST 55
|
||||
#define IRQ_SGA_IT 59
|
||||
#define IRQ_USBM 61
|
||||
#define IRQ_MSP1 63
|
||||
#define IRQ_WATCHDOG (IRQ_VIC_START+0)
|
||||
#define IRQ_SOFTINT (IRQ_VIC_START+1)
|
||||
#define IRQ_CRYPTO (IRQ_VIC_START+2)
|
||||
#define IRQ_OWM (IRQ_VIC_START+3)
|
||||
#define IRQ_MTU0 (IRQ_VIC_START+4)
|
||||
#define IRQ_MTU1 (IRQ_VIC_START+5)
|
||||
#define IRQ_GPIO0 (IRQ_VIC_START+6)
|
||||
#define IRQ_GPIO1 (IRQ_VIC_START+7)
|
||||
#define IRQ_GPIO2 (IRQ_VIC_START+8)
|
||||
#define IRQ_GPIO3 (IRQ_VIC_START+9)
|
||||
#define IRQ_RTC_RTT (IRQ_VIC_START+10)
|
||||
#define IRQ_SSP (IRQ_VIC_START+11)
|
||||
#define IRQ_UART0 (IRQ_VIC_START+12)
|
||||
#define IRQ_DMA1 (IRQ_VIC_START+13)
|
||||
#define IRQ_CLCD_MDIF (IRQ_VIC_START+14)
|
||||
#define IRQ_DMA0 (IRQ_VIC_START+15)
|
||||
#define IRQ_PWRFAIL (IRQ_VIC_START+16)
|
||||
#define IRQ_UART1 (IRQ_VIC_START+17)
|
||||
#define IRQ_FIRDA (IRQ_VIC_START+18)
|
||||
#define IRQ_MSP0 (IRQ_VIC_START+19)
|
||||
#define IRQ_I2C0 (IRQ_VIC_START+20)
|
||||
#define IRQ_I2C1 (IRQ_VIC_START+21)
|
||||
#define IRQ_SDMMC (IRQ_VIC_START+22)
|
||||
#define IRQ_USBOTG (IRQ_VIC_START+23)
|
||||
#define IRQ_SVA_IT0 (IRQ_VIC_START+24)
|
||||
#define IRQ_SVA_IT1 (IRQ_VIC_START+25)
|
||||
#define IRQ_SAA_IT0 (IRQ_VIC_START+26)
|
||||
#define IRQ_SAA_IT1 (IRQ_VIC_START+27)
|
||||
#define IRQ_UART2 (IRQ_VIC_START+28)
|
||||
#define IRQ_MSP2 (IRQ_VIC_START+29)
|
||||
#define IRQ_L2CC (IRQ_VIC_START+30)
|
||||
#define IRQ_HPI (IRQ_VIC_START+31)
|
||||
#define IRQ_SKE (IRQ_VIC_START+32)
|
||||
#define IRQ_KP (IRQ_VIC_START+33)
|
||||
#define IRQ_MEMST (IRQ_VIC_START+34)
|
||||
#define IRQ_SGA_IT (IRQ_VIC_START+35)
|
||||
#define IRQ_USBM (IRQ_VIC_START+36)
|
||||
#define IRQ_MSP1 (IRQ_VIC_START+37)
|
||||
|
||||
#define NOMADIK_GPIO_OFFSET (IRQ_VIC_START+64)
|
||||
|
||||
|
|
|
@ -160,7 +160,7 @@ static struct omap_lcd_config ams_delta_lcd_config __initdata = {
|
|||
.ctrl_name = "internal",
|
||||
};
|
||||
|
||||
static struct omap_usb_config ams_delta_usb_config = {
|
||||
static struct omap_usb_config ams_delta_usb_config __initdata = {
|
||||
.register_host = 1,
|
||||
.hmc_mode = 16,
|
||||
.pins[0] = 2,
|
||||
|
|
|
@ -142,7 +142,7 @@ static struct omap_mbox mbox_dsp_info = {
|
|||
|
||||
static struct omap_mbox *omap1_mboxes[] = { &mbox_dsp_info, NULL };
|
||||
|
||||
static int __devinit omap1_mbox_probe(struct platform_device *pdev)
|
||||
static int omap1_mbox_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct resource *mem;
|
||||
int ret;
|
||||
|
@ -165,7 +165,7 @@ static int __devinit omap1_mbox_probe(struct platform_device *pdev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int __devexit omap1_mbox_remove(struct platform_device *pdev)
|
||||
static int omap1_mbox_remove(struct platform_device *pdev)
|
||||
{
|
||||
omap_mbox_unregister();
|
||||
iounmap(mbox_base);
|
||||
|
@ -174,7 +174,7 @@ static int __devexit omap1_mbox_remove(struct platform_device *pdev)
|
|||
|
||||
static struct platform_driver omap1_mbox_driver = {
|
||||
.probe = omap1_mbox_probe,
|
||||
.remove = __devexit_p(omap1_mbox_remove),
|
||||
.remove = omap1_mbox_remove,
|
||||
.driver = {
|
||||
.name = "omap-mailbox",
|
||||
},
|
||||
|
|
|
@ -629,8 +629,14 @@ static void __init omap_1510_usb_init(struct omap_usb_config *config)
|
|||
static inline void omap_1510_usb_init(struct omap_usb_config *config) {}
|
||||
#endif
|
||||
|
||||
void __init omap1_usb_init(struct omap_usb_config *pdata)
|
||||
void __init omap1_usb_init(struct omap_usb_config *_pdata)
|
||||
{
|
||||
struct omap_usb_config *pdata;
|
||||
|
||||
pdata = kmemdup(_pdata, sizeof(*pdata), GFP_KERNEL);
|
||||
if (!pdata)
|
||||
return;
|
||||
|
||||
pdata->usb0_init = omap1_usb0_init;
|
||||
pdata->usb1_init = omap1_usb1_init;
|
||||
pdata->usb2_init = omap1_usb2_init;
|
||||
|
|
|
@ -1167,6 +1167,8 @@ static const struct clk_ops emu_src_ck_ops = {
|
|||
.recalc_rate = &omap2_clksel_recalc,
|
||||
.get_parent = &omap2_clksel_find_parent_index,
|
||||
.set_parent = &omap2_clksel_set_parent,
|
||||
.enable = &omap2_clkops_enable_clkdm,
|
||||
.disable = &omap2_clkops_disable_clkdm,
|
||||
};
|
||||
|
||||
static struct clk emu_src_ck;
|
||||
|
|
|
@ -744,7 +744,7 @@ static int gpmc_setup_irq(void)
|
|||
return request_irq(gpmc_irq, gpmc_handle_irq, 0, "gpmc", NULL);
|
||||
}
|
||||
|
||||
static __devexit int gpmc_free_irq(void)
|
||||
static int gpmc_free_irq(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -762,7 +762,7 @@ static __devexit int gpmc_free_irq(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void __devexit gpmc_mem_exit(void)
|
||||
static void gpmc_mem_exit(void)
|
||||
{
|
||||
int cs;
|
||||
|
||||
|
@ -774,7 +774,7 @@ static void __devexit gpmc_mem_exit(void)
|
|||
|
||||
}
|
||||
|
||||
static int __devinit gpmc_mem_init(void)
|
||||
static int gpmc_mem_init(void)
|
||||
{
|
||||
int cs, rc;
|
||||
unsigned long boot_rom_space = 0;
|
||||
|
@ -1121,7 +1121,7 @@ int gpmc_calc_timings(struct gpmc_timings *gpmc_t,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static __devinit int gpmc_probe(struct platform_device *pdev)
|
||||
static int gpmc_probe(struct platform_device *pdev)
|
||||
{
|
||||
int rc;
|
||||
u32 l;
|
||||
|
@ -1177,7 +1177,7 @@ static __devinit int gpmc_probe(struct platform_device *pdev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static __devexit int gpmc_remove(struct platform_device *pdev)
|
||||
static int gpmc_remove(struct platform_device *pdev)
|
||||
{
|
||||
gpmc_free_irq();
|
||||
gpmc_mem_exit();
|
||||
|
@ -1187,7 +1187,7 @@ static __devexit int gpmc_remove(struct platform_device *pdev)
|
|||
|
||||
static struct platform_driver gpmc_driver = {
|
||||
.probe = gpmc_probe,
|
||||
.remove = __devexit_p(gpmc_remove),
|
||||
.remove = gpmc_remove,
|
||||
.driver = {
|
||||
.name = DEVICE_NAME,
|
||||
.owner = THIS_MODULE,
|
||||
|
|
|
@ -342,7 +342,7 @@ struct omap_mbox mbox_2_info = {
|
|||
struct omap_mbox *omap4_mboxes[] = { &mbox_1_info, &mbox_2_info, NULL };
|
||||
#endif
|
||||
|
||||
static int __devinit omap2_mbox_probe(struct platform_device *pdev)
|
||||
static int omap2_mbox_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct resource *mem;
|
||||
int ret;
|
||||
|
@ -395,7 +395,7 @@ static int __devinit omap2_mbox_probe(struct platform_device *pdev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int __devexit omap2_mbox_remove(struct platform_device *pdev)
|
||||
static int omap2_mbox_remove(struct platform_device *pdev)
|
||||
{
|
||||
omap_mbox_unregister();
|
||||
iounmap(mbox_base);
|
||||
|
@ -404,7 +404,7 @@ static int __devexit omap2_mbox_remove(struct platform_device *pdev)
|
|||
|
||||
static struct platform_driver omap2_mbox_driver = {
|
||||
.probe = omap2_mbox_probe,
|
||||
.remove = __devexit_p(omap2_mbox_remove),
|
||||
.remove = omap2_mbox_remove,
|
||||
.driver = {
|
||||
.name = "omap-mailbox",
|
||||
},
|
||||
|
|
|
@ -2070,7 +2070,7 @@ static struct omap_hwmod_irq_info am33xx_usbss_mpu_irqs[] = {
|
|||
{ .name = "usbss-irq", .irq = 17 + OMAP_INTC_START, },
|
||||
{ .name = "musb0-irq", .irq = 18 + OMAP_INTC_START, },
|
||||
{ .name = "musb1-irq", .irq = 19 + OMAP_INTC_START, },
|
||||
{ .irq = -1 + OMAP_INTC_START, },
|
||||
{ .irq = -1, },
|
||||
};
|
||||
|
||||
static struct omap_hwmod am33xx_usbss_hwmod = {
|
||||
|
@ -2515,7 +2515,7 @@ static struct omap_hwmod_ocp_if am33xx_l4_hs__cpgmac0 = {
|
|||
.user = OCP_USER_MPU,
|
||||
};
|
||||
|
||||
struct omap_hwmod_addr_space am33xx_mdio_addr_space[] = {
|
||||
static struct omap_hwmod_addr_space am33xx_mdio_addr_space[] = {
|
||||
{
|
||||
.pa_start = 0x4A101000,
|
||||
.pa_end = 0x4A101000 + SZ_256 - 1,
|
||||
|
@ -2523,7 +2523,7 @@ struct omap_hwmod_addr_space am33xx_mdio_addr_space[] = {
|
|||
{ }
|
||||
};
|
||||
|
||||
struct omap_hwmod_ocp_if am33xx_cpgmac0__mdio = {
|
||||
static struct omap_hwmod_ocp_if am33xx_cpgmac0__mdio = {
|
||||
.master = &am33xx_cpgmac0_hwmod,
|
||||
.slave = &am33xx_mdio_hwmod,
|
||||
.addr = am33xx_mdio_addr_space,
|
||||
|
|
|
@ -27,6 +27,14 @@
|
|||
#include "cm2xxx_3xxx.h"
|
||||
#include "prm-regbits-24xx.h"
|
||||
|
||||
/*
|
||||
* OMAP24xx PM_PWSTCTRL_*.POWERSTATE and PM_PWSTST_*.LASTSTATEENTERED bits -
|
||||
* these are reversed from the bits used on OMAP3+
|
||||
*/
|
||||
#define OMAP24XX_PWRDM_POWER_ON 0x0
|
||||
#define OMAP24XX_PWRDM_POWER_RET 0x1
|
||||
#define OMAP24XX_PWRDM_POWER_OFF 0x3
|
||||
|
||||
/*
|
||||
* omap2xxx_prm_reset_src_map - map from bits in the PRM_RSTST_WKUP
|
||||
* hardware register (which are specific to the OMAP2xxx SoCs) to
|
||||
|
@ -67,6 +75,34 @@ static u32 omap2xxx_prm_read_reset_sources(void)
|
|||
return r;
|
||||
}
|
||||
|
||||
/**
|
||||
* omap2xxx_pwrst_to_common_pwrst - convert OMAP2xxx pwrst to common pwrst
|
||||
* @omap2xxx_pwrst: OMAP2xxx hardware power state to convert
|
||||
*
|
||||
* Return the common power state bits corresponding to the OMAP2xxx
|
||||
* hardware power state bits @omap2xxx_pwrst, or -EINVAL upon error.
|
||||
*/
|
||||
static int omap2xxx_pwrst_to_common_pwrst(u8 omap2xxx_pwrst)
|
||||
{
|
||||
u8 pwrst;
|
||||
|
||||
switch (omap2xxx_pwrst) {
|
||||
case OMAP24XX_PWRDM_POWER_OFF:
|
||||
pwrst = PWRDM_POWER_OFF;
|
||||
break;
|
||||
case OMAP24XX_PWRDM_POWER_RET:
|
||||
pwrst = PWRDM_POWER_RET;
|
||||
break;
|
||||
case OMAP24XX_PWRDM_POWER_ON:
|
||||
pwrst = PWRDM_POWER_ON;
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return pwrst;
|
||||
}
|
||||
|
||||
/**
|
||||
* omap2xxx_prm_dpll_reset - use DPLL reset to reboot the OMAP SoC
|
||||
*
|
||||
|
@ -97,10 +133,56 @@ int omap2xxx_clkdm_wakeup(struct clockdomain *clkdm)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int omap2xxx_pwrdm_set_next_pwrst(struct powerdomain *pwrdm, u8 pwrst)
|
||||
{
|
||||
u8 omap24xx_pwrst;
|
||||
|
||||
switch (pwrst) {
|
||||
case PWRDM_POWER_OFF:
|
||||
omap24xx_pwrst = OMAP24XX_PWRDM_POWER_OFF;
|
||||
break;
|
||||
case PWRDM_POWER_RET:
|
||||
omap24xx_pwrst = OMAP24XX_PWRDM_POWER_RET;
|
||||
break;
|
||||
case PWRDM_POWER_ON:
|
||||
omap24xx_pwrst = OMAP24XX_PWRDM_POWER_ON;
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
omap2_prm_rmw_mod_reg_bits(OMAP_POWERSTATE_MASK,
|
||||
(omap24xx_pwrst << OMAP_POWERSTATE_SHIFT),
|
||||
pwrdm->prcm_offs, OMAP2_PM_PWSTCTRL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int omap2xxx_pwrdm_read_next_pwrst(struct powerdomain *pwrdm)
|
||||
{
|
||||
u8 omap2xxx_pwrst;
|
||||
|
||||
omap2xxx_pwrst = omap2_prm_read_mod_bits_shift(pwrdm->prcm_offs,
|
||||
OMAP2_PM_PWSTCTRL,
|
||||
OMAP_POWERSTATE_MASK);
|
||||
|
||||
return omap2xxx_pwrst_to_common_pwrst(omap2xxx_pwrst);
|
||||
}
|
||||
|
||||
static int omap2xxx_pwrdm_read_pwrst(struct powerdomain *pwrdm)
|
||||
{
|
||||
u8 omap2xxx_pwrst;
|
||||
|
||||
omap2xxx_pwrst = omap2_prm_read_mod_bits_shift(pwrdm->prcm_offs,
|
||||
OMAP2_PM_PWSTST,
|
||||
OMAP_POWERSTATEST_MASK);
|
||||
|
||||
return omap2xxx_pwrst_to_common_pwrst(omap2xxx_pwrst);
|
||||
}
|
||||
|
||||
struct pwrdm_ops omap2_pwrdm_operations = {
|
||||
.pwrdm_set_next_pwrst = omap2_pwrdm_set_next_pwrst,
|
||||
.pwrdm_read_next_pwrst = omap2_pwrdm_read_next_pwrst,
|
||||
.pwrdm_read_pwrst = omap2_pwrdm_read_pwrst,
|
||||
.pwrdm_set_next_pwrst = omap2xxx_pwrdm_set_next_pwrst,
|
||||
.pwrdm_read_next_pwrst = omap2xxx_pwrdm_read_next_pwrst,
|
||||
.pwrdm_read_pwrst = omap2xxx_pwrdm_read_pwrst,
|
||||
.pwrdm_set_logic_retst = omap2_pwrdm_set_logic_retst,
|
||||
.pwrdm_set_mem_onst = omap2_pwrdm_set_mem_onst,
|
||||
.pwrdm_set_mem_retst = omap2_pwrdm_set_mem_retst,
|
||||
|
|
|
@ -103,28 +103,6 @@ int omap2_prm_deassert_hardreset(s16 prm_mod, u8 rst_shift, u8 st_shift)
|
|||
/* Powerdomain low-level functions */
|
||||
|
||||
/* Common functions across OMAP2 and OMAP3 */
|
||||
int omap2_pwrdm_set_next_pwrst(struct powerdomain *pwrdm, u8 pwrst)
|
||||
{
|
||||
omap2_prm_rmw_mod_reg_bits(OMAP_POWERSTATE_MASK,
|
||||
(pwrst << OMAP_POWERSTATE_SHIFT),
|
||||
pwrdm->prcm_offs, OMAP2_PM_PWSTCTRL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int omap2_pwrdm_read_next_pwrst(struct powerdomain *pwrdm)
|
||||
{
|
||||
return omap2_prm_read_mod_bits_shift(pwrdm->prcm_offs,
|
||||
OMAP2_PM_PWSTCTRL,
|
||||
OMAP_POWERSTATE_MASK);
|
||||
}
|
||||
|
||||
int omap2_pwrdm_read_pwrst(struct powerdomain *pwrdm)
|
||||
{
|
||||
return omap2_prm_read_mod_bits_shift(pwrdm->prcm_offs,
|
||||
OMAP2_PM_PWSTST,
|
||||
OMAP_POWERSTATEST_MASK);
|
||||
}
|
||||
|
||||
int omap2_pwrdm_set_mem_onst(struct powerdomain *pwrdm, u8 bank,
|
||||
u8 pwrst)
|
||||
{
|
||||
|
|
|
@ -277,6 +277,28 @@ static u32 omap3xxx_prm_read_reset_sources(void)
|
|||
|
||||
/* Powerdomain low-level functions */
|
||||
|
||||
static int omap3_pwrdm_set_next_pwrst(struct powerdomain *pwrdm, u8 pwrst)
|
||||
{
|
||||
omap2_prm_rmw_mod_reg_bits(OMAP_POWERSTATE_MASK,
|
||||
(pwrst << OMAP_POWERSTATE_SHIFT),
|
||||
pwrdm->prcm_offs, OMAP2_PM_PWSTCTRL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int omap3_pwrdm_read_next_pwrst(struct powerdomain *pwrdm)
|
||||
{
|
||||
return omap2_prm_read_mod_bits_shift(pwrdm->prcm_offs,
|
||||
OMAP2_PM_PWSTCTRL,
|
||||
OMAP_POWERSTATE_MASK);
|
||||
}
|
||||
|
||||
static int omap3_pwrdm_read_pwrst(struct powerdomain *pwrdm)
|
||||
{
|
||||
return omap2_prm_read_mod_bits_shift(pwrdm->prcm_offs,
|
||||
OMAP2_PM_PWSTST,
|
||||
OMAP_POWERSTATEST_MASK);
|
||||
}
|
||||
|
||||
/* Applicable only for OMAP3. Not supported on OMAP2 */
|
||||
static int omap3_pwrdm_read_prev_pwrst(struct powerdomain *pwrdm)
|
||||
{
|
||||
|
@ -355,9 +377,9 @@ static int omap3_pwrdm_disable_hdwr_sar(struct powerdomain *pwrdm)
|
|||
}
|
||||
|
||||
struct pwrdm_ops omap3_pwrdm_operations = {
|
||||
.pwrdm_set_next_pwrst = omap2_pwrdm_set_next_pwrst,
|
||||
.pwrdm_read_next_pwrst = omap2_pwrdm_read_next_pwrst,
|
||||
.pwrdm_read_pwrst = omap2_pwrdm_read_pwrst,
|
||||
.pwrdm_set_next_pwrst = omap3_pwrdm_set_next_pwrst,
|
||||
.pwrdm_read_next_pwrst = omap3_pwrdm_read_next_pwrst,
|
||||
.pwrdm_read_pwrst = omap3_pwrdm_read_pwrst,
|
||||
.pwrdm_read_prev_pwrst = omap3_pwrdm_read_prev_pwrst,
|
||||
.pwrdm_set_logic_retst = omap2_pwrdm_set_logic_retst,
|
||||
.pwrdm_read_logic_pwrst = omap3_pwrdm_read_logic_pwrst,
|
||||
|
|
|
@ -56,9 +56,9 @@ static struct omap_prcm_irq_setup omap4_prcm_irq_setup = {
|
|||
* enumeration)
|
||||
*/
|
||||
static struct prm_reset_src_map omap44xx_prm_reset_src_map[] = {
|
||||
{ OMAP4430_RST_GLOBAL_WARM_SW_SHIFT,
|
||||
{ OMAP4430_GLOBAL_WARM_SW_RST_SHIFT,
|
||||
OMAP_GLOBAL_WARM_RST_SRC_ID_SHIFT },
|
||||
{ OMAP4430_RST_GLOBAL_COLD_SW_SHIFT,
|
||||
{ OMAP4430_GLOBAL_COLD_RST_SHIFT,
|
||||
OMAP_GLOBAL_COLD_RST_SRC_ID_SHIFT },
|
||||
{ OMAP4430_MPU_SECURITY_VIOL_RST_SHIFT,
|
||||
OMAP_SECU_VIOL_RST_SRC_ID_SHIFT },
|
||||
|
@ -333,7 +333,7 @@ static u32 omap44xx_prm_read_reset_sources(void)
|
|||
u32 r = 0;
|
||||
u32 v;
|
||||
|
||||
v = omap4_prm_read_inst_reg(OMAP4430_PRM_OCP_SOCKET_INST,
|
||||
v = omap4_prm_read_inst_reg(OMAP4430_PRM_DEVICE_INST,
|
||||
OMAP4_RM_RSTST);
|
||||
|
||||
p = omap44xx_prm_reset_src_map;
|
||||
|
|
|
@ -62,8 +62,8 @@
|
|||
|
||||
/* OMAP4 specific register offsets */
|
||||
#define OMAP4_RM_RSTCTRL 0x0000
|
||||
#define OMAP4_RM_RSTTIME 0x0004
|
||||
#define OMAP4_RM_RSTST 0x0008
|
||||
#define OMAP4_RM_RSTST 0x0004
|
||||
#define OMAP4_RM_RSTTIME 0x0008
|
||||
#define OMAP4_PM_PWSTCTRL 0x0000
|
||||
#define OMAP4_PM_PWSTST 0x0004
|
||||
|
||||
|
|
|
@ -506,7 +506,7 @@ static int __init pci_setup(struct pci_sys_data *sys)
|
|||
/*****************************************************************************
|
||||
* General PCIe + PCI
|
||||
****************************************************************************/
|
||||
static void __devinit rc_pci_fixup(struct pci_dev *dev)
|
||||
static void rc_pci_fixup(struct pci_dev *dev)
|
||||
{
|
||||
/*
|
||||
* Prevent enumeration of root complex.
|
||||
|
|
|
@ -123,7 +123,7 @@ static const struct of_device_id memc_ids[] = {
|
|||
{}
|
||||
};
|
||||
|
||||
static int __devinit sirfsoc_memc_probe(struct platform_device *op)
|
||||
static int sirfsoc_memc_probe(struct platform_device *op)
|
||||
{
|
||||
struct device_node *np = op->dev.of_node;
|
||||
|
||||
|
|
|
@ -107,7 +107,7 @@ static const struct of_device_id rtciobrg_ids[] = {
|
|||
{}
|
||||
};
|
||||
|
||||
static int __devinit sirfsoc_rtciobrg_probe(struct platform_device *op)
|
||||
static int sirfsoc_rtciobrg_probe(struct platform_device *op)
|
||||
{
|
||||
struct device_node *np = op->dev.of_node;
|
||||
|
||||
|
|
|
@ -198,7 +198,7 @@ static struct sharpsl_charger_machinfo corgi_pm_machinfo = {
|
|||
|
||||
static struct platform_device *corgipm_device;
|
||||
|
||||
static int __devinit corgipm_init(void)
|
||||
static int corgipm_init(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
|
|
|
@ -829,7 +829,7 @@ static const struct platform_suspend_ops sharpsl_pm_ops = {
|
|||
};
|
||||
#endif
|
||||
|
||||
static int __devinit sharpsl_pm_probe(struct platform_device *pdev)
|
||||
static int sharpsl_pm_probe(struct platform_device *pdev)
|
||||
{
|
||||
int ret, irq;
|
||||
|
||||
|
@ -941,7 +941,7 @@ static struct platform_driver sharpsl_pm_driver = {
|
|||
},
|
||||
};
|
||||
|
||||
static int __devinit sharpsl_pm_init(void)
|
||||
static int sharpsl_pm_init(void)
|
||||
{
|
||||
return platform_driver_register(&sharpsl_pm_driver);
|
||||
}
|
||||
|
|
|
@ -232,7 +232,7 @@ struct sharpsl_charger_machinfo spitz_pm_machinfo = {
|
|||
|
||||
static struct platform_device *spitzpm_device;
|
||||
|
||||
static int __devinit spitzpm_init(void)
|
||||
static int spitzpm_init(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
|
|
|
@ -102,7 +102,7 @@ static int tosa_bt_probe(struct platform_device *dev)
|
|||
return rc;
|
||||
}
|
||||
|
||||
static int __devexit tosa_bt_remove(struct platform_device *dev)
|
||||
static int tosa_bt_remove(struct platform_device *dev)
|
||||
{
|
||||
struct tosa_bt_data *data = dev->dev.platform_data;
|
||||
struct rfkill *rfk = platform_get_drvdata(dev);
|
||||
|
@ -125,7 +125,7 @@ static int __devexit tosa_bt_remove(struct platform_device *dev)
|
|||
|
||||
static struct platform_driver tosa_bt_driver = {
|
||||
.probe = tosa_bt_probe,
|
||||
.remove = __devexit_p(tosa_bt_remove),
|
||||
.remove = tosa_bt_remove,
|
||||
|
||||
.driver = {
|
||||
.name = "tosa-bt",
|
||||
|
|
|
@ -62,7 +62,7 @@ static const struct rfkill_ops h1940bt_rfkill_ops = {
|
|||
.set_block = h1940bt_set_block,
|
||||
};
|
||||
|
||||
static int __devinit h1940bt_probe(struct platform_device *pdev)
|
||||
static int h1940bt_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct rfkill *rfk;
|
||||
int ret = 0;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue