mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
Char / Misc driver patches for 5.3-rc1
Here is the "large" pull request for char and misc and other assorted smaller driver subsystems for 5.3-rc1. It seems that this tree is becoming the funnel point of lots of smaller driver subsystems, which is fine for me, but that's why it is getting larger over time and does not just contain stuff under drivers/char/ and drivers/misc. Lots of small updates all over the place here from different driver subsystems: - habana driver updates - coresight driver updates - documentation file movements and updates - Android binder fixes and updates - extcon driver updates - google firmware driver updates - fsi driver updates - smaller misc and char driver updates - soundwire driver updates - nvmem driver updates - w1 driver fixes All of these have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <[email protected]> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCXSXmoQ8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+ylV9wCgyJGbpPch8v/ecrZGFHYS4sIMexIAoMco3zf6 wnqFmXiz1O0tyo1sgV9R =7sqO -----END PGP SIGNATURE----- Merge tag 'char-misc-5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char / misc driver updates from Greg KH: "Here is the "large" pull request for char and misc and other assorted smaller driver subsystems for 5.3-rc1. It seems that this tree is becoming the funnel point of lots of smaller driver subsystems, which is fine for me, but that's why it is getting larger over time and does not just contain stuff under drivers/char/ and drivers/misc. Lots of small updates all over the place here from different driver subsystems: - habana driver updates - coresight driver updates - documentation file movements and updates - Android binder fixes and updates - extcon driver updates - google firmware driver updates - fsi driver updates - smaller misc and char driver updates - soundwire driver updates - nvmem driver updates - w1 driver fixes All of these have been in linux-next for a while with no reported issues" * tag 'char-misc-5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (188 commits) coresight: Do not default to CPU0 for missing CPU phandle dt-bindings: coresight: Change CPU phandle to required property ocxl: Allow contexts to be attached with a NULL mm fsi: sbefifo: Don't fail operations when in SBE IPL state coresight: tmc: Smatch: Fix potential NULL pointer dereference coresight: etm3x: Smatch: Fix potential NULL pointer dereference coresight: Potential uninitialized variable in probe() coresight: etb10: Do not call smp_processor_id from preemptible coresight: tmc-etf: Do not call smp_processor_id from preemptible coresight: tmc-etr: alloc_perf_buf: Do not call smp_processor_id from preemptible coresight: tmc-etr: Do not call smp_processor_id() from preemptible docs: misc-devices: convert files without extension to ReST fpga: dfl: fme: align PR buffer size per PR datawidth fpga: dfl: fme: remove copy_to_user() in ioctl for PR fpga: dfl-fme-mgr: fix FME_PR_INTFC_ID register address. intel_th: msu: Start read iterator from a non-empty window intel_th: msu: Split sgt array and pointer in multiwindow mode intel_th: msu: Support multipage blocks intel_th: pci: Add Ice Lake NNPI support intel_th: msu: Fix single mode with disabled IOMMU ...
This commit is contained in:
commit
97ff4ca46d
164 changed files with 6073 additions and 2998 deletions
|
|
@ -12,7 +12,7 @@
|
|||
#ifndef __COREBOOT_TABLE_H
|
||||
#define __COREBOOT_TABLE_H
|
||||
|
||||
#include <linux/io.h>
|
||||
#include <linux/device.h>
|
||||
|
||||
/* Coreboot table header structure */
|
||||
struct coreboot_table_header {
|
||||
|
|
@ -83,4 +83,13 @@ int coreboot_driver_register(struct coreboot_driver *driver);
|
|||
/* Unregister a driver that uses the data from a coreboot table. */
|
||||
void coreboot_driver_unregister(struct coreboot_driver *driver);
|
||||
|
||||
/* module_coreboot_driver() - Helper macro for drivers that don't do
|
||||
* anything special in module init/exit. This eliminates a lot of
|
||||
* boilerplate. Each module may only use this macro once, and
|
||||
* calling it replaces module_init() and module_exit()
|
||||
*/
|
||||
#define module_coreboot_driver(__coreboot_driver) \
|
||||
module_driver(__coreboot_driver, coreboot_driver_register, \
|
||||
coreboot_driver_unregister)
|
||||
|
||||
#endif /* __COREBOOT_TABLE_H */
|
||||
|
|
|
|||
|
|
@ -89,19 +89,7 @@ static struct coreboot_driver framebuffer_driver = {
|
|||
},
|
||||
.tag = CB_TAG_FRAMEBUFFER,
|
||||
};
|
||||
|
||||
static int __init coreboot_framebuffer_init(void)
|
||||
{
|
||||
return coreboot_driver_register(&framebuffer_driver);
|
||||
}
|
||||
|
||||
static void coreboot_framebuffer_exit(void)
|
||||
{
|
||||
coreboot_driver_unregister(&framebuffer_driver);
|
||||
}
|
||||
|
||||
module_init(coreboot_framebuffer_init);
|
||||
module_exit(coreboot_framebuffer_exit);
|
||||
module_coreboot_driver(framebuffer_driver);
|
||||
|
||||
MODULE_AUTHOR("Samuel Holland <[email protected]>");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
*/
|
||||
|
||||
#include <linux/device.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
|
|
@ -26,7 +27,7 @@ struct cbmem_cons {
|
|||
#define CURSOR_MASK ((1 << 28) - 1)
|
||||
#define OVERFLOW (1 << 31)
|
||||
|
||||
static struct cbmem_cons __iomem *cbmem_console;
|
||||
static struct cbmem_cons *cbmem_console;
|
||||
static u32 cbmem_console_size;
|
||||
|
||||
/*
|
||||
|
|
@ -67,7 +68,7 @@ static ssize_t memconsole_coreboot_read(char *buf, loff_t pos, size_t count)
|
|||
|
||||
static int memconsole_probe(struct coreboot_device *dev)
|
||||
{
|
||||
struct cbmem_cons __iomem *tmp_cbmc;
|
||||
struct cbmem_cons *tmp_cbmc;
|
||||
|
||||
tmp_cbmc = memremap(dev->cbmem_ref.cbmem_addr,
|
||||
sizeof(*tmp_cbmc), MEMREMAP_WB);
|
||||
|
|
@ -77,13 +78,13 @@ static int memconsole_probe(struct coreboot_device *dev)
|
|||
|
||||
/* Read size only once to prevent overrun attack through /dev/mem. */
|
||||
cbmem_console_size = tmp_cbmc->size_dont_access_after_boot;
|
||||
cbmem_console = memremap(dev->cbmem_ref.cbmem_addr,
|
||||
cbmem_console = devm_memremap(&dev->dev, dev->cbmem_ref.cbmem_addr,
|
||||
cbmem_console_size + sizeof(*cbmem_console),
|
||||
MEMREMAP_WB);
|
||||
memunmap(tmp_cbmc);
|
||||
|
||||
if (!cbmem_console)
|
||||
return -ENOMEM;
|
||||
if (IS_ERR(cbmem_console))
|
||||
return PTR_ERR(cbmem_console);
|
||||
|
||||
memconsole_setup(memconsole_coreboot_read);
|
||||
|
||||
|
|
@ -94,9 +95,6 @@ static int memconsole_remove(struct coreboot_device *dev)
|
|||
{
|
||||
memconsole_exit();
|
||||
|
||||
if (cbmem_console)
|
||||
memunmap(cbmem_console);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -108,19 +106,7 @@ static struct coreboot_driver memconsole_driver = {
|
|||
},
|
||||
.tag = CB_TAG_CBMEM_CONSOLE,
|
||||
};
|
||||
|
||||
static void coreboot_memconsole_exit(void)
|
||||
{
|
||||
coreboot_driver_unregister(&memconsole_driver);
|
||||
}
|
||||
|
||||
static int __init coreboot_memconsole_init(void)
|
||||
{
|
||||
return coreboot_driver_register(&memconsole_driver);
|
||||
}
|
||||
|
||||
module_exit(coreboot_memconsole_exit);
|
||||
module_init(coreboot_memconsole_init);
|
||||
module_coreboot_driver(memconsole_driver);
|
||||
|
||||
MODULE_AUTHOR("Google, Inc.");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
|
|
|||
|
|
@ -7,21 +7,22 @@
|
|||
* Copyright 2017 Google Inc.
|
||||
*/
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/sysfs.h>
|
||||
#include <linux/kobject.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#include "memconsole.h"
|
||||
|
||||
static ssize_t (*memconsole_read_func)(char *, loff_t, size_t);
|
||||
|
||||
static ssize_t memconsole_read(struct file *filp, struct kobject *kobp,
|
||||
struct bin_attribute *bin_attr, char *buf,
|
||||
loff_t pos, size_t count)
|
||||
{
|
||||
ssize_t (*memconsole_read_func)(char *, loff_t, size_t);
|
||||
|
||||
memconsole_read_func = bin_attr->private;
|
||||
if (WARN_ON_ONCE(!memconsole_read_func))
|
||||
return -EIO;
|
||||
|
||||
return memconsole_read_func(buf, pos, count);
|
||||
}
|
||||
|
||||
|
|
@ -32,7 +33,7 @@ static struct bin_attribute memconsole_bin_attr = {
|
|||
|
||||
void memconsole_setup(ssize_t (*read_func)(char *, loff_t, size_t))
|
||||
{
|
||||
memconsole_read_func = read_func;
|
||||
memconsole_bin_attr.private = read_func;
|
||||
}
|
||||
EXPORT_SYMBOL(memconsole_setup);
|
||||
|
||||
|
|
|
|||
|
|
@ -316,19 +316,7 @@ static struct coreboot_driver vpd_driver = {
|
|||
},
|
||||
.tag = CB_TAG_VPD,
|
||||
};
|
||||
|
||||
static int __init coreboot_vpd_init(void)
|
||||
{
|
||||
return coreboot_driver_register(&vpd_driver);
|
||||
}
|
||||
|
||||
static void __exit coreboot_vpd_exit(void)
|
||||
{
|
||||
coreboot_driver_unregister(&vpd_driver);
|
||||
}
|
||||
|
||||
module_init(coreboot_vpd_init);
|
||||
module_exit(coreboot_vpd_exit);
|
||||
module_coreboot_driver(vpd_driver);
|
||||
|
||||
MODULE_AUTHOR("Google, Inc.");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@
|
|||
* Copyright 2017 Google Inc.
|
||||
*/
|
||||
|
||||
#include <linux/export.h>
|
||||
|
||||
#include "vpd_decode.h"
|
||||
|
||||
static int vpd_decode_len(const s32 max_len, const u8 *in,
|
||||
|
|
|
|||
Loading…
Reference in a new issue