Char/Misc driver patches for 4.1-rc1
Here's the big char/misc driver patchset for 4.1-rc1. Lots of different driver subsystem updates here, nothing major, full details are in the shortlog below. All of this has been in linux-next for a while. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEABECAAYFAlU2IMEACgkQMUfUDdst+yloDQCfbyIRL23WVAn9ckQse/y8gbjB OT4AoKTJbwndDP9Kb/lrj2tjd9QjNVrC =xhen -----END PGP SIGNATURE----- Merge tag 'char-misc-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char/misc driver updates from Greg KH: "Here's the big char/misc driver patchset for 4.1-rc1. Lots of different driver subsystem updates here, nothing major, full details are in the shortlog. All of this has been in linux-next for a while" * tag 'char-misc-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (133 commits) mei: trace: remove unused TRACE_SYSTEM_STRING DTS: ARM: OMAP3-N900: Add lis3lv02d support Documentation: DT: lis302: update wakeup binding lis3lv02d: DT: add wakeup unit 2 and wakeup threshold lis3lv02d: DT: use s32 to support negative values Drivers: hv: hv_balloon: correctly handle num_pages>INT_MAX case Drivers: hv: hv_balloon: correctly handle val.freeram<num_pages case mei: replace check for connection instead of transitioning mei: use mei_cl_is_connected consistently mei: fix mei_poll operation hv_vmbus: Add gradually increased delay for retries in vmbus_post_msg() Drivers: hv: hv_balloon: survive ballooning request with num_pages=0 Drivers: hv: hv_balloon: eliminate jumps in piecewiese linear floor function Drivers: hv: hv_balloon: do not online pages in offline blocks hv: remove the per-channel workqueue hv: don't schedule new works in vmbus_onoffer()/vmbus_onoffer_rescind() hv: run non-blocking message handlers in the dispatch tasklet coresight: moving to new "hwtracing" directory coresight-tmc: Adding a status interface to sysfs coresight: remove the unnecessary configuration coresight-default-sink ...
This commit is contained in:
commit
1fc149933f
119 changed files with 4033 additions and 1482 deletions
|
|
@ -61,7 +61,6 @@ Example:
|
|||
compatible = "arm,coresight-etb10", "arm,primecell";
|
||||
reg = <0 0x20010000 0 0x1000>;
|
||||
|
||||
coresight-default-sink;
|
||||
clocks = <&oscclk6a>;
|
||||
clock-names = "apb_pclk";
|
||||
port {
|
||||
|
|
|
|||
18
Documentation/devicetree/bindings/extcon/extcon-usb-gpio.txt
Normal file
18
Documentation/devicetree/bindings/extcon/extcon-usb-gpio.txt
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
USB GPIO Extcon device
|
||||
|
||||
This is a virtual device used to generate USB cable states from the USB ID pin
|
||||
connected to a GPIO pin.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "linux,extcon-usb-gpio"
|
||||
- id-gpio: gpio for USB ID pin. See gpio binding.
|
||||
|
||||
Example: Examples of extcon-usb-gpio node in dra7-evm.dts as listed below:
|
||||
extcon_usb1 {
|
||||
compatible = "linux,extcon-usb-gpio";
|
||||
id-gpio = <&gpio6 1 GPIO_ACTIVE_HIGH>;
|
||||
}
|
||||
|
||||
&omap_dwc3_1 {
|
||||
extcon = <&extcon_usb1>;
|
||||
};
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
* Ingenic JZ4780 NAND/external memory controller (NEMC)
|
||||
|
||||
This file documents the device tree bindings for the NEMC external memory
|
||||
controller in Ingenic JZ4780
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be set to one of:
|
||||
"ingenic,jz4780-nemc" (JZ4780)
|
||||
- reg: Should specify the NEMC controller registers location and length.
|
||||
- clocks: Clock for the NEMC controller.
|
||||
- #address-cells: Must be set to 2.
|
||||
- #size-cells: Must be set to 1.
|
||||
- ranges: A set of ranges for each bank describing the physical memory layout.
|
||||
Each should specify the following 4 integer values:
|
||||
|
||||
<cs number> 0 <physical address of mapping> <size of mapping>
|
||||
|
||||
Each child of the NEMC node describes a device connected to the NEMC.
|
||||
|
||||
Required child node properties:
|
||||
- reg: Should contain at least one register specifier, given in the following
|
||||
format:
|
||||
|
||||
<cs number> <offset> <size>
|
||||
|
||||
Multiple registers can be specified across multiple banks. This is needed,
|
||||
for example, for packaged NAND devices with multiple dies. Such devices
|
||||
should be grouped into a single node.
|
||||
|
||||
Optional child node properties:
|
||||
- ingenic,nemc-bus-width: Specifies the bus width in bits. Defaults to 8 bits.
|
||||
- ingenic,nemc-tAS: Address setup time in nanoseconds.
|
||||
- ingenic,nemc-tAH: Address hold time in nanoseconds.
|
||||
- ingenic,nemc-tBP: Burst pitch time in nanoseconds.
|
||||
- ingenic,nemc-tAW: Access wait time in nanoseconds.
|
||||
- ingenic,nemc-tSTRV: Static memory recovery time in nanoseconds.
|
||||
|
||||
If a child node references multiple banks in its "reg" property, the same value
|
||||
for all optional parameters will be configured for all banks. If any optional
|
||||
parameters are omitted, they will be left unchanged from whatever they are
|
||||
configured to when the NEMC device is probed (which may be the reset value as
|
||||
given in the hardware reference manual, or a value configured by the boot
|
||||
loader).
|
||||
|
||||
Example (NEMC node with a NAND child device attached at CS1):
|
||||
|
||||
nemc: nemc@13410000 {
|
||||
compatible = "ingenic,jz4780-nemc";
|
||||
reg = <0x13410000 0x10000>;
|
||||
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
|
||||
ranges = <1 0 0x1b000000 0x1000000
|
||||
2 0 0x1a000000 0x1000000
|
||||
3 0 0x19000000 0x1000000
|
||||
4 0 0x18000000 0x1000000
|
||||
5 0 0x17000000 0x1000000
|
||||
6 0 0x16000000 0x1000000>;
|
||||
|
||||
clocks = <&cgu JZ4780_CLK_NEMC>;
|
||||
|
||||
nand: nand@1 {
|
||||
compatible = "ingenic,jz4780-nand";
|
||||
reg = <1 0 0x1000000>;
|
||||
|
||||
ingenic,nemc-tAS = <10>;
|
||||
ingenic,nemc-tAH = <5>;
|
||||
ingenic,nemc-tBP = <10>;
|
||||
ingenic,nemc-tAW = <15>;
|
||||
ingenic,nemc-tSTRV = <100>;
|
||||
|
||||
...
|
||||
};
|
||||
};
|
||||
|
|
@ -46,11 +46,18 @@ Optional properties for all bus drivers:
|
|||
interrupt 2
|
||||
- st,wakeup-{x,y,z}-{lo,hi}: set wakeup condition on x/y/z axis for
|
||||
upper/lower limit
|
||||
- st,wakeup-threshold: set wakeup threshold
|
||||
- st,wakeup2-{x,y,z}-{lo,hi}: set wakeup condition on x/y/z axis for
|
||||
upper/lower limit for second wakeup
|
||||
engine.
|
||||
- st,wakeup2-threshold: set wakeup threshold for second wakeup
|
||||
engine.
|
||||
- st,highpass-cutoff-hz=: 1, 2, 4 or 8 for 1Hz, 2Hz, 4Hz or 8Hz of
|
||||
highpass cut-off frequency
|
||||
- st,hipass{1,2}-disable: disable highpass 1/2.
|
||||
- st,default-rate=: set the default rate
|
||||
- st,axis-{x,y,z}=: set the axis to map to the three coordinates
|
||||
- st,axis-{x,y,z}=: set the axis to map to the three coordinates.
|
||||
Negative values can be used for inverted axis.
|
||||
- st,{min,max}-limit-{x,y,z} set the min/max limits for x/y/z axis
|
||||
(used by self-test)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
Qualcomm SPMI Controller (PMIC Arbiter)
|
||||
|
||||
The SPMI PMIC Arbiter is found on the Snapdragon 800 Series. It is an SPMI
|
||||
The SPMI PMIC Arbiter is found on Snapdragon chipsets. It is an SPMI
|
||||
controller with wrapping arbitration logic to allow for multiple on-chip
|
||||
devices to control a single SPMI master.
|
||||
|
||||
|
|
@ -19,6 +19,10 @@ Required properties:
|
|||
"core" - core registers
|
||||
"intr" - interrupt controller registers
|
||||
"cnfg" - configuration registers
|
||||
Registers used only for V2 PMIC Arbiter:
|
||||
"chnls" - tx-channel per virtual slave registers.
|
||||
"obsrvr" - rx-channel (called observer) per virtual slave registers.
|
||||
|
||||
- reg : address + size pairs describing the PMIC arb register sets; order must
|
||||
correspond with the order of entries in reg-names
|
||||
- #address-cells : must be set to 2
|
||||
|
|
|
|||
|
|
@ -276,6 +276,7 @@ IOMAP
|
|||
devm_ioport_unmap()
|
||||
devm_ioremap()
|
||||
devm_ioremap_nocache()
|
||||
devm_ioremap_wc()
|
||||
devm_ioremap_resource() : checks resource, requests memory region, ioremaps
|
||||
devm_iounmap()
|
||||
pcim_iomap()
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ document is concerned with the latter.
|
|||
HW assisted tracing is becoming increasingly useful when dealing with systems
|
||||
that have many SoCs and other components like GPU and DMA engines. ARM has
|
||||
developed a HW assisted tracing solution by means of different components, each
|
||||
being added to a design at systhesis time to cater to specific tracing needs.
|
||||
being added to a design at synthesis time to cater to specific tracing needs.
|
||||
Compoments are generally categorised as source, link and sinks and are
|
||||
(usually) discovered using the AMBA bus.
|
||||
|
||||
|
|
|
|||
|
|
@ -958,7 +958,7 @@ ARM/CORESIGHT FRAMEWORK AND DRIVERS
|
|||
M: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
F: drivers/coresight/*
|
||||
F: drivers/hwtracing/coresight/*
|
||||
F: Documentation/trace/coresight.txt
|
||||
F: Documentation/devicetree/bindings/arm/coresight.txt
|
||||
F: Documentation/ABI/testing/sysfs-bus-coresight-devices-*
|
||||
|
|
@ -1828,7 +1828,7 @@ S: Supported
|
|||
F: drivers/spi/spi-atmel.*
|
||||
|
||||
ATMEL SSC DRIVER
|
||||
M: Bo Shen <voice.shen@atmel.com>
|
||||
M: Nicolas Ferre <nicolas.ferre@atmel.com>
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
S: Supported
|
||||
F: drivers/misc/atmel-ssc.c
|
||||
|
|
|
|||
|
|
@ -1610,59 +1610,6 @@ config DEBUG_SET_MODULE_RONX
|
|||
against certain classes of kernel exploits.
|
||||
If in doubt, say "N".
|
||||
|
||||
menuconfig CORESIGHT
|
||||
bool "CoreSight Tracing Support"
|
||||
select ARM_AMBA
|
||||
help
|
||||
This framework provides a kernel interface for the CoreSight debug
|
||||
and trace drivers to register themselves with. It's intended to build
|
||||
a topological view of the CoreSight components based on a DT
|
||||
specification and configure the right serie of components when a
|
||||
trace source gets enabled.
|
||||
source "drivers/hwtracing/coresight/Kconfig"
|
||||
|
||||
if CORESIGHT
|
||||
config CORESIGHT_LINKS_AND_SINKS
|
||||
bool "CoreSight Link and Sink drivers"
|
||||
help
|
||||
This enables support for CoreSight link and sink drivers that are
|
||||
responsible for transporting and collecting the trace data
|
||||
respectively. Link and sinks are dynamically aggregated with a trace
|
||||
entity at run time to form a complete trace path.
|
||||
|
||||
config CORESIGHT_LINK_AND_SINK_TMC
|
||||
bool "Coresight generic TMC driver"
|
||||
depends on CORESIGHT_LINKS_AND_SINKS
|
||||
help
|
||||
This enables support for the Trace Memory Controller driver. Depending
|
||||
on its configuration the device can act as a link (embedded trace router
|
||||
- ETR) or sink (embedded trace FIFO). The driver complies with the
|
||||
generic implementation of the component without special enhancement or
|
||||
added features.
|
||||
|
||||
config CORESIGHT_SINK_TPIU
|
||||
bool "Coresight generic TPIU driver"
|
||||
depends on CORESIGHT_LINKS_AND_SINKS
|
||||
help
|
||||
This enables support for the Trace Port Interface Unit driver, responsible
|
||||
for bridging the gap between the on-chip coresight components and a trace
|
||||
port collection engine, typically connected to an external host for use
|
||||
case capturing more traces than the on-board coresight memory can handle.
|
||||
|
||||
config CORESIGHT_SINK_ETBV10
|
||||
bool "Coresight ETBv1.0 driver"
|
||||
depends on CORESIGHT_LINKS_AND_SINKS
|
||||
help
|
||||
This enables support for the Embedded Trace Buffer version 1.0 driver
|
||||
that complies with the generic implementation of the component without
|
||||
special enhancement or added features.
|
||||
|
||||
config CORESIGHT_SOURCE_ETM3X
|
||||
bool "CoreSight Embedded Trace Macrocell 3.x driver"
|
||||
select CORESIGHT_LINKS_AND_SINKS
|
||||
help
|
||||
This driver provides support for processor ETM3.x and PTM1.x modules,
|
||||
which allows tracing the instructions that a processor is executing
|
||||
This is primarily useful for instruction level tracing. Depending
|
||||
the ETM version data tracing may also be available.
|
||||
endif
|
||||
endmenu
|
||||
|
|
|
|||
|
|
@ -275,7 +275,6 @@
|
|||
compatible = "arm,coresight-etb10", "arm,primecell";
|
||||
reg = <0 0xe3c42000 0 0x1000>;
|
||||
|
||||
coresight-default-sink;
|
||||
clocks = <&clk_375m>;
|
||||
clock-names = "apb_pclk";
|
||||
port {
|
||||
|
|
|
|||
|
|
@ -150,7 +150,6 @@
|
|||
compatible = "arm,coresight-etb10", "arm,primecell";
|
||||
reg = <0x5401b000 0x1000>;
|
||||
|
||||
coresight-default-sink;
|
||||
clocks = <&emu_src_ck>;
|
||||
clock-names = "apb_pclk";
|
||||
port {
|
||||
|
|
|
|||
|
|
@ -145,7 +145,6 @@
|
|||
compatible = "arm,coresight-etb10", "arm,primecell";
|
||||
reg = <0x5401b000 0x1000>;
|
||||
|
||||
coresight-default-sink;
|
||||
clocks = <&emu_src_ck>;
|
||||
clock-names = "apb_pclk";
|
||||
port {
|
||||
|
|
|
|||
|
|
@ -609,6 +609,58 @@
|
|||
pinctrl-0 = <&i2c3_pins>;
|
||||
|
||||
clock-frequency = <400000>;
|
||||
|
||||
lis302dl: lis3lv02d@1d {
|
||||
compatible = "st,lis3lv02d";
|
||||
reg = <0x1d>;
|
||||
|
||||
Vdd-supply = <&vaux1>;
|
||||
Vdd_IO-supply = <&vio>;
|
||||
|
||||
interrupt-parent = <&gpio6>;
|
||||
interrupts = <21 20>; /* 181 and 180 */
|
||||
|
||||
/* click flags */
|
||||
st,click-single-x;
|
||||
st,click-single-y;
|
||||
st,click-single-z;
|
||||
|
||||
/* Limits are 0.5g * value */
|
||||
st,click-threshold-x = <8>;
|
||||
st,click-threshold-y = <8>;
|
||||
st,click-threshold-z = <10>;
|
||||
|
||||
/* Click must be longer than time limit */
|
||||
st,click-time-limit = <9>;
|
||||
|
||||
/* Kind of debounce filter */
|
||||
st,click-latency = <50>;
|
||||
|
||||
/* Interrupt line 2 for click detection */
|
||||
st,irq2-click;
|
||||
|
||||
st,wakeup-x-hi;
|
||||
st,wakeup-y-hi;
|
||||
st,wakeup-threshold = <(800/18)>; /* millig-value / 18 to get HW values */
|
||||
|
||||
st,wakeup2-z-hi;
|
||||
st,wakeup2-threshold = <(900/18)>; /* millig-value / 18 to get HW values */
|
||||
|
||||
st,hipass1-disable;
|
||||
st,hipass2-disable;
|
||||
|
||||
st,axis-x = <1>; /* LIS3_DEV_X */
|
||||
st,axis-y = <(-2)>; /* LIS3_INV_DEV_Y */
|
||||
st,axis-z = <(-3)>; /* LIS3_INV_DEV_Z */
|
||||
|
||||
st,min-limit-x = <(-32)>;
|
||||
st,min-limit-y = <3>;
|
||||
st,min-limit-z = <3>;
|
||||
|
||||
st,max-limit-x = <(-3)>;
|
||||
st,max-limit-y = <32>;
|
||||
st,max-limit-z = <32>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
|
|
|
|||
|
|
@ -362,7 +362,6 @@
|
|||
compatible = "arm,coresight-etb10", "arm,primecell";
|
||||
reg = <0 0x20010000 0 0x1000>;
|
||||
|
||||
coresight-default-sink;
|
||||
clocks = <&oscclk6a>;
|
||||
clock-names = "apb_pclk";
|
||||
port {
|
||||
|
|
|
|||
|
|
@ -89,4 +89,6 @@ config DEBUG_ALIGN_RODATA
|
|||
|
||||
If in doubt, say N
|
||||
|
||||
source "drivers/hwtracing/coresight/Kconfig"
|
||||
|
||||
endmenu
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@ static inline void __iomem *ioremap(unsigned long offset, unsigned long size)
|
|||
|
||||
extern void iounmap(volatile void __iomem *addr);
|
||||
#define ioremap_nocache(off,size) ioremap(off,size)
|
||||
#define ioremap_wc ioremap_nocache
|
||||
|
||||
/*
|
||||
* IO bus memory addresses are also 1:1 with the physical address
|
||||
|
|
|
|||
|
|
@ -225,6 +225,8 @@
|
|||
#define HV_STATUS_INVALID_HYPERCALL_CODE 2
|
||||
#define HV_STATUS_INVALID_HYPERCALL_INPUT 3
|
||||
#define HV_STATUS_INVALID_ALIGNMENT 4
|
||||
#define HV_STATUS_INSUFFICIENT_MEMORY 11
|
||||
#define HV_STATUS_INVALID_CONNECTION_ID 18
|
||||
#define HV_STATUS_INSUFFICIENT_BUFFERS 19
|
||||
|
||||
typedef struct _HV_REFERENCE_TSC_PAGE {
|
||||
|
|
|
|||
|
|
@ -163,5 +163,5 @@ obj-$(CONFIG_POWERCAP) += powercap/
|
|||
obj-$(CONFIG_MCB) += mcb/
|
||||
obj-$(CONFIG_RAS) += ras/
|
||||
obj-$(CONFIG_THUNDERBOLT) += thunderbolt/
|
||||
obj-$(CONFIG_CORESIGHT) += coresight/
|
||||
obj-$(CONFIG_CORESIGHT) += hwtracing/coresight/
|
||||
obj-$(CONFIG_ANDROID) += android/
|
||||
|
|
|
|||
|
|
@ -300,11 +300,14 @@ static const struct file_operations rng_chrdev_ops = {
|
|||
.llseek = noop_llseek,
|
||||
};
|
||||
|
||||
static const struct attribute_group *rng_dev_groups[];
|
||||
|
||||
static struct miscdevice rng_miscdev = {
|
||||
.minor = RNG_MISCDEV_MINOR,
|
||||
.name = RNG_MODULE_NAME,
|
||||
.nodename = "hwrng",
|
||||
.fops = &rng_chrdev_ops,
|
||||
.groups = rng_dev_groups,
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -377,37 +380,22 @@ static DEVICE_ATTR(rng_available, S_IRUGO,
|
|||
hwrng_attr_available_show,
|
||||
NULL);
|
||||
|
||||
static struct attribute *rng_dev_attrs[] = {
|
||||
&dev_attr_rng_current.attr,
|
||||
&dev_attr_rng_available.attr,
|
||||
NULL
|
||||
};
|
||||
|
||||
ATTRIBUTE_GROUPS(rng_dev);
|
||||
|
||||
static void __exit unregister_miscdev(void)
|
||||
{
|
||||
device_remove_file(rng_miscdev.this_device, &dev_attr_rng_available);
|
||||
device_remove_file(rng_miscdev.this_device, &dev_attr_rng_current);
|
||||
misc_deregister(&rng_miscdev);
|
||||
}
|
||||
|
||||
static int __init register_miscdev(void)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = misc_register(&rng_miscdev);
|
||||
if (err)
|
||||
goto out;
|
||||
err = device_create_file(rng_miscdev.this_device,
|
||||
&dev_attr_rng_current);
|
||||
if (err)
|
||||
goto err_misc_dereg;
|
||||
err = device_create_file(rng_miscdev.this_device,
|
||||
&dev_attr_rng_available);
|
||||
if (err)
|
||||
goto err_remove_current;
|
||||
out:
|
||||
return err;
|
||||
|
||||
err_remove_current:
|
||||
device_remove_file(rng_miscdev.this_device, &dev_attr_rng_current);
|
||||
err_misc_dereg:
|
||||
misc_deregister(&rng_miscdev);
|
||||
goto out;
|
||||
return misc_register(&rng_miscdev);
|
||||
}
|
||||
|
||||
static int hwrng_fillfn(void *unused)
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@ static int rng_remove(struct platform_device *dev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static struct of_device_id rng_match[] = {
|
||||
static const struct of_device_id rng_match[] = {
|
||||
{ .compatible = "1682m-rng", },
|
||||
{ .compatible = "pasemi,pwrficient-rng", },
|
||||
{ },
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue