diff options
author | Stijn Tintel <stijn@linux-ipv6.be> | 2018-11-10 13:03:18 +0200 |
---|---|---|
committer | Stijn Tintel <stijn@linux-ipv6.be> | 2018-12-18 23:19:21 +0200 |
commit | f5919b65d4c671fd5083838c7a445f319f9a13c8 (patch) | |
tree | 2c791d2a5dea5bbbb0b85f86f74afce2647c0726 /target/linux/brcm2708/patches-4.14/950-0381-staging-vc04_services-no-need-to-check-debugfs-retur.patch | |
parent | 822b4c3b250a254e74407056ccfd5c6aa38da162 (diff) | |
download | upstream-f5919b65d4c671fd5083838c7a445f319f9a13c8.tar.gz upstream-f5919b65d4c671fd5083838c7a445f319f9a13c8.tar.bz2 upstream-f5919b65d4c671fd5083838c7a445f319f9a13c8.zip |
brcm2708: add kernel 4.14 support
Patch generation process:
- rebase rpi/rpi-4.14.y on v4.14.89 from linux-stable
- git format-patch v4.14.89
Patches skipped during rebase:
- lan78xx: Read MAC address from DT if present
- lan78xx: Enable LEDs and auto-negotiation
- Revert "softirq: Let ksoftirqd do its job"
- sc16is7xx: Fix for multi-channel stall
- lan78xx: Ignore DT MAC address if already valid
- lan78xx: Simple patch to prevent some crashes
- tcp_write_queue_purge clears all the SKBs in the write queue
- Revert "lan78xx: Simple patch to prevent some crashes"
- lan78xx: Connect phy early
- Arm: mm: ftrace: Only set text back to ro after kernel has been marked ro
- Revert "Revert "softirq: Let ksoftirqd do its job""
- ASoC: cs4265: SOC_SINGLE register value error fix
- Revert "ASoC: cs4265: SOC_SINGLE register value error fix"
- Revert "net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends"
- Revert "Revert "net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends""
Patches dropped after rebase:
- net: Add non-mainline source for rtl8192cu wlan
- net: Fix rtl8192cu build errors on other platforms
- brcm: adds support for BCM43341 wifi
- brcmfmac: Mute expected startup 'errors'
- ARM64: Fix build break for RTL8187/RTL8192CU wifi
- ARM64: Enable RTL8187/RTL8192CU wifi in build config
- This is the driver for Sony CXD2880 DVB-T2/T tuner + demodulator
- brcmfmac: add CLM download support
- brcmfmac: request_firmware_direct is quieter
- Sets the BCDC priority to constant 0
- brcmfmac: Disable ARP offloading when promiscuous
- brcmfmac: Avoid possible out-of-bounds read
- brcmfmac: Delete redundant length check
- net: rtl8192cu: Normalize indentation
- net: rtl8192cu: Fix implicit fallthrough warnings
- Revert "Sets the BCDC priority to constant 0"
- media: cxd2880: Bump to match 4.18.y version
- media: cxd2880-spi: Bump to match 4.18.y version
- Revert "mm: alloc_contig: re-allow CMA to compact FS pages"
- Revert "Revert "mm: alloc_contig: re-allow CMA to compact FS pages""
- cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880 with
MEDIA_SUBDRV_AUTOSELECT
- 950-0421-HID-hid-bigbenff-driver-for-BigBen-Interactive-PS3OF.patch
- 950-0453-Add-hid-bigbenff-to-list-of-have_special_driver-for-.patch
Make I2C built-in instead of modular as in upstream defconfig; also the
easiest way to get MFD_ARIZONA enabled, which is required by
kmod-sound-soc-rpi-cirrus.
Add missing compatible strings from
4.9/960-add-rasbperrypi-compatible.patch, using upstream names for
compute modules.
Add extra patch to enable the LEDs on lan78xx.
Compile-tested: bcm2708, bcm2709, bcm2710 (with CONFIG_ALL_KMODS=y)
Runtime-tested: bcm2708, bcm2710
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Diffstat (limited to 'target/linux/brcm2708/patches-4.14/950-0381-staging-vc04_services-no-need-to-check-debugfs-retur.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.14/950-0381-staging-vc04_services-no-need-to-check-debugfs-retur.patch | 217 |
1 files changed, 217 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.14/950-0381-staging-vc04_services-no-need-to-check-debugfs-retur.patch b/target/linux/brcm2708/patches-4.14/950-0381-staging-vc04_services-no-need-to-check-debugfs-retur.patch new file mode 100644 index 0000000000..1a8cfd1241 --- /dev/null +++ b/target/linux/brcm2708/patches-4.14/950-0381-staging-vc04_services-no-need-to-check-debugfs-retur.patch @@ -0,0 +1,217 @@ +From 5e4d56448e08a7f4bf39e1b3f4c43916ff74d337 Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +Date: Fri, 1 Jun 2018 13:09:59 +0200 +Subject: [PATCH 381/454] staging: vc04_services: no need to check debugfs + return values + +commit 0723103f8ba15a019bbcaf6f130d73d05337332f upstream + +When calling debugfs functions, there is no need to ever check the +return value. The function can work or not, but the code logic should +never do something different based on this. + +Clean up the vchiq_arm code by not caring about the value of debugfs +calls. This ends up removing a number of lines of code that are not +needed. + +Cc: Stefan Wahren <stefan.wahren@i2se.com> +Cc: Kees Cook <keescook@chromium.org> +Cc: Dan Carpenter <dan.carpenter@oracle.com> +Cc: Arnd Bergmann <arnd@arndb.de> +Cc: Keerthi Reddy <keerthigd4990@gmail.com> +Cc: linux-rpi-kernel@lists.infradead.org +Cc: linux-arm-kernel@lists.infradead.org +Reviewed-by: Eric Anholt <eric@anholt.net> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + .../interface/vchiq_arm/vchiq_arm.c | 8 +- + .../interface/vchiq_arm/vchiq_debugfs.c | 73 +++---------------- + .../interface/vchiq_arm/vchiq_debugfs.h | 4 +- + 3 files changed, 15 insertions(+), 70 deletions(-) + +--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c ++++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +@@ -1753,7 +1753,7 @@ vchiq_open(struct inode *inode, struct f + instance->state = state; + instance->pid = current->tgid; + +- (void)vchiq_debugfs_add_instance(instance); ++ vchiq_debugfs_add_instance(instance); + + sema_init(&instance->insert_event, 0); + sema_init(&instance->remove_event, 0); +@@ -3437,9 +3437,7 @@ static int vchiq_probe(struct platform_d + goto failed_device_create; + + /* create debugfs entries */ +- err = vchiq_debugfs_init(); +- if (err != 0) +- goto failed_debugfs_init; ++ vchiq_debugfs_init(); + + vchiq_log_info(vchiq_arm_log_level, + "vchiq: initialised - version %d (min %d), device %d.%d", +@@ -3448,8 +3446,6 @@ static int vchiq_probe(struct platform_d + + return 0; + +-failed_debugfs_init: +- device_destroy(vchiq_class, vchiq_devid); + failed_device_create: + class_destroy(vchiq_class); + failed_class_create: +--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c ++++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c +@@ -160,15 +160,12 @@ static const struct file_operations debu + }; + + /* create an entry under <debugfs>/vchiq/log for each log category */ +-static int vchiq_debugfs_create_log_entries(struct dentry *top) ++static void vchiq_debugfs_create_log_entries(struct dentry *top) + { + struct dentry *dir; + size_t i; +- int ret = 0; + + dir = debugfs_create_dir("log", vchiq_debugfs_top()); +- if (!dir) +- return -ENOMEM; + debugfs_info.log_categories = dir; + + for (i = 0; i < n_log_entries; i++) { +@@ -179,14 +176,8 @@ static int vchiq_debugfs_create_log_entr + debugfs_info.log_categories, + levp, + &debugfs_log_fops); +- if (!dir) { +- ret = -ENOMEM; +- break; +- } +- + vchiq_debugfs_log_entries[i].dir = dir; + } +- return ret; + } + + static int debugfs_usecount_show(struct seq_file *f, void *offset) +@@ -270,43 +261,22 @@ static const struct file_operations debu + }; + + /* add an instance (process) to the debugfs entries */ +-int vchiq_debugfs_add_instance(VCHIQ_INSTANCE_T instance) ++void vchiq_debugfs_add_instance(VCHIQ_INSTANCE_T instance) + { + char pidstr[16]; +- struct dentry *top, *use_count, *trace; ++ struct dentry *top; + struct dentry *clients = vchiq_clients_top(); + + snprintf(pidstr, sizeof(pidstr), "%d", + vchiq_instance_get_pid(instance)); + + top = debugfs_create_dir(pidstr, clients); +- if (!top) +- goto fail_top; + +- use_count = debugfs_create_file("use_count", +- 0444, top, +- instance, +- &debugfs_usecount_fops); +- if (!use_count) +- goto fail_use_count; +- +- trace = debugfs_create_file("trace", +- 0644, top, +- instance, +- &debugfs_trace_fops); +- if (!trace) +- goto fail_trace; ++ debugfs_create_file("use_count", 0444, top, instance, ++ &debugfs_usecount_fops); ++ debugfs_create_file("trace", 0644, top, instance, &debugfs_trace_fops); + + vchiq_instance_get_debugfs_node(instance)->dentry = top; +- +- return 0; +- +-fail_trace: +- debugfs_remove(use_count); +-fail_use_count: +- debugfs_remove(top); +-fail_top: +- return -ENOMEM; + } + + void vchiq_debugfs_remove_instance(VCHIQ_INSTANCE_T instance) +@@ -316,32 +286,13 @@ void vchiq_debugfs_remove_instance(VCHIQ + debugfs_remove_recursive(node->dentry); + } + +- +-int vchiq_debugfs_init(void) ++void vchiq_debugfs_init(void) + { +- BUG_ON(debugfs_info.vchiq_cfg_dir != NULL); +- + debugfs_info.vchiq_cfg_dir = debugfs_create_dir("vchiq", NULL); +- if (debugfs_info.vchiq_cfg_dir == NULL) +- goto fail; +- + debugfs_info.clients = debugfs_create_dir("clients", + vchiq_debugfs_top()); +- if (!debugfs_info.clients) +- goto fail; + +- if (vchiq_debugfs_create_log_entries(vchiq_debugfs_top()) != 0) +- goto fail; +- +- return 0; +- +-fail: +- vchiq_debugfs_deinit(); +- vchiq_log_error(vchiq_arm_log_level, +- "%s: failed to create debugfs directory", +- __func__); +- +- return -ENOMEM; ++ vchiq_debugfs_create_log_entries(vchiq_debugfs_top()); + } + + /* remove all the debugfs entries */ +@@ -363,18 +314,16 @@ static struct dentry *vchiq_debugfs_top( + + #else /* CONFIG_DEBUG_FS */ + +-int vchiq_debugfs_init(void) ++void vchiq_debugfs_init(void) + { +- return 0; + } + + void vchiq_debugfs_deinit(void) + { + } + +-int vchiq_debugfs_add_instance(VCHIQ_INSTANCE_T instance) ++void vchiq_debugfs_add_instance(VCHIQ_INSTANCE_T instance) + { +- return 0; + } + + void vchiq_debugfs_remove_instance(VCHIQ_INSTANCE_T instance) +--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.h ++++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.h +@@ -40,11 +40,11 @@ typedef struct vchiq_debugfs_node_struct + struct dentry *dentry; + } VCHIQ_DEBUGFS_NODE_T; + +-int vchiq_debugfs_init(void); ++void vchiq_debugfs_init(void); + + void vchiq_debugfs_deinit(void); + +-int vchiq_debugfs_add_instance(VCHIQ_INSTANCE_T instance); ++void vchiq_debugfs_add_instance(VCHIQ_INSTANCE_T instance); + + void vchiq_debugfs_remove_instance(VCHIQ_INSTANCE_T instance); + |