Commit 5d929490 authored by Koen Vandeputte's avatar Koen Vandeputte
Browse files

kernel: bump 4.14 to 4.14.158



Refreshed all patches.

Altered patches:
- 400-mtd-add-rootfs-split-support.patch

Compile-tested on: cns3xxx
Runtime-tested on: cns3xxx
Signed-off-by: default avatarKoen Vandeputte <koen.vandeputte@ncentric.com>
parent 361b5556
...@@ -3,10 +3,10 @@ ...@@ -3,10 +3,10 @@
LINUX_RELEASE?=1 LINUX_RELEASE?=1
LINUX_VERSION-4.9 = .206 LINUX_VERSION-4.9 = .206
LINUX_VERSION-4.14 = .156 LINUX_VERSION-4.14 = .158
LINUX_KERNEL_HASH-4.9.206 = 1df27899a9bc4dd874f3830ab9e7b638f0026dffd67a2e230444e5d2805ccad6 LINUX_KERNEL_HASH-4.9.206 = 1df27899a9bc4dd874f3830ab9e7b638f0026dffd67a2e230444e5d2805ccad6
LINUX_KERNEL_HASH-4.14.156 = f8889feb0cbd7df36ff35bd4c72c1e2010567621bfcb218fcfa501bc5c7787c0 LINUX_KERNEL_HASH-4.14.158 = 0d49ec72e273f6fc7462ad56849b2285f13fd5f4185e8f932a0074fc2eca1bb3
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
......
...@@ -30,7 +30,7 @@ Signed-off-by: Johan Hovold <johan@kernel.org> ...@@ -30,7 +30,7 @@ Signed-off-by: Johan Hovold <johan@kernel.org>
--- a/drivers/usb/serial/option.c --- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c
@@ -1965,7 +1965,8 @@ static const struct usb_device_id option @@ -1968,7 +1968,8 @@ static const struct usb_device_id option
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */ { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) }, { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) },
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) }, { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) },
......
...@@ -55,7 +55,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> ...@@ -55,7 +55,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
#include "mtdcore.h" #include "mtdcore.h"
@@ -894,6 +895,92 @@ static int mtd_part_do_parse(struct mtd_ @@ -919,6 +920,92 @@ static int mtd_part_do_parse(struct mtd_
} }
/** /**
...@@ -148,7 +148,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> ...@@ -148,7 +148,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
* parse_mtd_partitions - parse MTD partitions * parse_mtd_partitions - parse MTD partitions
* @master: the master partition (describes whole MTD device) * @master: the master partition (describes whole MTD device)
* @types: names of partition parsers to try or %NULL * @types: names of partition parsers to try or %NULL
@@ -925,19 +1012,30 @@ int parse_mtd_partitions(struct mtd_info @@ -950,19 +1037,30 @@ int parse_mtd_partitions(struct mtd_info
types = default_mtd_part_types; types = default_mtd_part_types;
for ( ; *types; types++) { for ( ; *types; types++) {
......
...@@ -22,7 +22,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> ...@@ -22,7 +22,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
--- a/drivers/mtd/mtdpart.c --- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c
@@ -940,7 +940,7 @@ static int mtd_part_of_parse(struct mtd_ @@ -965,7 +965,7 @@ static int mtd_part_of_parse(struct mtd_
struct device_node *np; struct device_node *np;
struct property *prop; struct property *prop;
const char *compat; const char *compat;
...@@ -31,7 +31,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> ...@@ -31,7 +31,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
int ret, err = 0; int ret, err = 0;
np = of_get_child_by_name(mtd_get_of_node(master), "partitions"); np = of_get_child_by_name(mtd_get_of_node(master), "partitions");
@@ -960,7 +960,7 @@ static int mtd_part_of_parse(struct mtd_ @@ -985,7 +985,7 @@ static int mtd_part_of_parse(struct mtd_
of_node_put(np); of_node_put(np);
/* /*
......
...@@ -98,7 +98,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> ...@@ -98,7 +98,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
} }
static struct mtd_part *allocate_partition(struct mtd_info *parent, static struct mtd_part *allocate_partition(struct mtd_info *parent,
@@ -981,30 +968,27 @@ static int mtd_part_of_parse(struct mtd_ @@ -1006,30 +993,27 @@ static int mtd_part_of_parse(struct mtd_
} }
/** /**
...@@ -136,7 +136,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> ...@@ -136,7 +136,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
struct mtd_part_parser *parser; struct mtd_part_parser *parser;
int ret, err = 0; int ret, err = 0;
@@ -1018,7 +1002,7 @@ int parse_mtd_partitions(struct mtd_info @@ -1043,7 +1027,7 @@ int parse_mtd_partitions(struct mtd_info
* handled in a separated function. * handled in a separated function.
*/ */
if (!strcmp(*types, "ofpart")) { if (!strcmp(*types, "ofpart")) {
...@@ -145,7 +145,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> ...@@ -145,7 +145,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
} else { } else {
pr_debug("%s: parsing partitions %s\n", master->name, pr_debug("%s: parsing partitions %s\n", master->name,
*types); *types);
@@ -1029,13 +1013,17 @@ int parse_mtd_partitions(struct mtd_info @@ -1054,13 +1038,17 @@ int parse_mtd_partitions(struct mtd_info
parser ? parser->name : NULL); parser ? parser->name : NULL);
if (!parser) if (!parser)
continue; continue;
......
...@@ -55,9 +55,9 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> ...@@ -55,9 +55,9 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
static struct mtd_part *allocate_partition(struct mtd_info *parent, static struct mtd_part *allocate_partition(struct mtd_info *parent,
const struct mtd_partition *part, int partno, const struct mtd_partition *part, int partno,
uint64_t cur_offset) uint64_t cur_offset)
@@ -783,8 +767,8 @@ int add_mtd_partitions(struct mtd_info * @@ -803,8 +787,8 @@ int add_mtd_partitions(struct mtd_info *
}
add_mtd_device(&slave->mtd);
mtd_add_partition_attrs(slave); mtd_add_partition_attrs(slave);
- if (parts[i].types) - if (parts[i].types)
- mtd_parse_part(slave, parts[i].types); - mtd_parse_part(slave, parts[i].types);
...@@ -66,7 +66,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> ...@@ -66,7 +66,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
cur_offset = slave->offset + slave->mtd.size; cur_offset = slave->offset + slave->mtd.size;
} }
@@ -860,6 +844,12 @@ static const char * const default_mtd_pa @@ -885,6 +869,12 @@ static const char * const default_mtd_pa
NULL NULL
}; };
...@@ -79,7 +79,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> ...@@ -79,7 +79,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
static int mtd_part_do_parse(struct mtd_part_parser *parser, static int mtd_part_do_parse(struct mtd_part_parser *parser,
struct mtd_info *master, struct mtd_info *master,
struct mtd_partitions *pparts, struct mtd_partitions *pparts,
@@ -930,7 +920,9 @@ static int mtd_part_of_parse(struct mtd_ @@ -955,7 +945,9 @@ static int mtd_part_of_parse(struct mtd_
const char *fixed = "fixed-partitions"; const char *fixed = "fixed-partitions";
int ret, err = 0; int ret, err = 0;
...@@ -90,7 +90,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> ...@@ -90,7 +90,7 @@ Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
of_property_for_each_string(np, "compatible", prop, compat) { of_property_for_each_string(np, "compatible", prop, compat) {
parser = mtd_part_get_compatible_parser(compat); parser = mtd_part_get_compatible_parser(compat);
if (!parser) if (!parser)
@@ -993,7 +985,8 @@ int parse_mtd_partitions(struct mtd_info @@ -1018,7 +1010,8 @@ int parse_mtd_partitions(struct mtd_info
int ret, err = 0; int ret, err = 0;
if (!types) if (!types)
......
...@@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> ...@@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
depends on BROKEN || !FRV depends on BROKEN || !FRV
--- a/kernel/Makefile --- a/kernel/Makefile
+++ b/kernel/Makefile +++ b/kernel/Makefile
@@ -113,6 +113,7 @@ obj-$(CONFIG_CONTEXT_TRACKING) += contex @@ -110,6 +110,7 @@ obj-$(CONFIG_CONTEXT_TRACKING) += contex
obj-$(CONFIG_TORTURE_TEST) += torture.o obj-$(CONFIG_TORTURE_TEST) += torture.o
obj-$(CONFIG_HAS_IOMEM) += memremap.o obj-$(CONFIG_HAS_IOMEM) += memremap.o
......
...@@ -104,7 +104,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> ...@@ -104,7 +104,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
#include <linux/err.h> #include <linux/err.h>
#include <linux/of.h> #include <linux/of.h>
@@ -835,6 +836,32 @@ void deregister_mtd_parser(struct mtd_pa @@ -860,6 +861,32 @@ void deregister_mtd_parser(struct mtd_pa
EXPORT_SYMBOL_GPL(deregister_mtd_parser); EXPORT_SYMBOL_GPL(deregister_mtd_parser);
/* /*
...@@ -137,7 +137,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> ...@@ -137,7 +137,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* Do not forget to update 'parse_mtd_partitions()' kerneldoc comment if you * Do not forget to update 'parse_mtd_partitions()' kerneldoc comment if you
* are changing this array! * are changing this array!
*/ */
@@ -983,6 +1010,13 @@ int parse_mtd_partitions(struct mtd_info @@ -1008,6 +1035,13 @@ int parse_mtd_partitions(struct mtd_info
struct mtd_partitions pparts = { }; struct mtd_partitions pparts = { };
struct mtd_part_parser *parser; struct mtd_part_parser *parser;
int ret, err = 0; int ret, err = 0;
...@@ -151,7 +151,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> ...@@ -151,7 +151,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
if (!types) if (!types)
types = mtd_is_partition(master) ? default_subpartition_types : types = mtd_is_partition(master) ? default_subpartition_types :
@@ -1024,6 +1058,7 @@ int parse_mtd_partitions(struct mtd_info @@ -1049,6 +1083,7 @@ int parse_mtd_partitions(struct mtd_info
if (ret < 0 && !err) if (ret < 0 && !err)
err = ret; err = ret;
} }
......
...@@ -60,15 +60,15 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> ...@@ -60,15 +60,15 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* /*
* Given a pointer to the MTD object in the mtd_part structure, we can retrieve * Given a pointer to the MTD object in the mtd_part structure, we can retrieve
* the pointer to that structure. * the pointer to that structure.
@@ -658,6 +662,7 @@ int mtd_add_partition(struct mtd_info *p @@ -661,6 +665,7 @@ int mtd_add_partition(struct mtd_info *p
mutex_unlock(&mtd_partitions_mutex); if (ret)
goto err_remove_part;
add_mtd_device(&new->mtd);
+ mtd_partition_split(parent, new); + mtd_partition_split(parent, new);
mtd_add_partition_attrs(new); mtd_add_partition_attrs(new);
@@ -736,6 +741,35 @@ int mtd_del_partition(struct mtd_info *m return 0;
@@ -747,6 +752,35 @@ int mtd_del_partition(struct mtd_info *m
} }
EXPORT_SYMBOL_GPL(mtd_del_partition); EXPORT_SYMBOL_GPL(mtd_del_partition);
...@@ -104,10 +104,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> ...@@ -104,10 +104,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* /*
* This function, given a master MTD object and a partition table, creates * This function, given a master MTD object and a partition table, creates
* and registers slave MTD objects which are bound to the master according to * and registers slave MTD objects which are bound to the master according to
@@ -767,6 +801,7 @@ int add_mtd_partitions(struct mtd_info * @@ -787,6 +821,7 @@ int add_mtd_partitions(struct mtd_info *
mutex_unlock(&mtd_partitions_mutex); goto err_del_partitions;
}
add_mtd_device(&slave->mtd);
+ mtd_partition_split(master, slave); + mtd_partition_split(master, slave);
mtd_add_partition_attrs(slave); mtd_add_partition_attrs(slave);
/* Look for subpartitions */ /* Look for subpartitions */
......
...@@ -9,7 +9,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> ...@@ -9,7 +9,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
--- a/drivers/mtd/mtdpart.c --- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c
@@ -1113,6 +1113,62 @@ void mtd_part_parser_cleanup(struct mtd_ @@ -1138,6 +1138,62 @@ void mtd_part_parser_cleanup(struct mtd_
} }
} }
......
...@@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> ...@@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
--- a/drivers/mtd/mtdpart.c --- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c
@@ -741,6 +741,36 @@ int mtd_del_partition(struct mtd_info *m @@ -752,6 +752,36 @@ int mtd_del_partition(struct mtd_info *m
} }
EXPORT_SYMBOL_GPL(mtd_del_partition); EXPORT_SYMBOL_GPL(mtd_del_partition);
...@@ -47,7 +47,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> ...@@ -47,7 +47,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
#ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME #ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME
#define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME #define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME
#else #else
@@ -749,6 +779,7 @@ EXPORT_SYMBOL_GPL(mtd_del_partition); @@ -760,6 +790,7 @@ EXPORT_SYMBOL_GPL(mtd_del_partition);
static void split_firmware(struct mtd_info *master, struct mtd_part *part) static void split_firmware(struct mtd_info *master, struct mtd_part *part)
{ {
...@@ -55,7 +55,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> ...@@ -55,7 +55,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
} }
void __weak arch_split_mtd_part(struct mtd_info *master, const char *name, void __weak arch_split_mtd_part(struct mtd_info *master, const char *name,
@@ -763,6 +794,12 @@ static void mtd_partition_split(struct m @@ -774,6 +805,12 @@ static void mtd_partition_split(struct m
if (rootfs_found) if (rootfs_found)
return; return;
......
...@@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> ...@@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
--- a/drivers/mtd/mtdpart.c --- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c
@@ -771,6 +771,17 @@ run_parsers_by_type(struct mtd_part *sla @@ -782,6 +782,17 @@ run_parsers_by_type(struct mtd_part *sla
return nr_parts; return nr_parts;
} }
...@@ -29,7 +29,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> ...@@ -29,7 +29,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
#ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME #ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME
#define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME #define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME
#else #else
@@ -1223,6 +1234,24 @@ int mtd_is_partition(const struct mtd_in @@ -1248,6 +1259,24 @@ int mtd_is_partition(const struct mtd_in
} }
EXPORT_SYMBOL_GPL(mtd_is_partition); EXPORT_SYMBOL_GPL(mtd_is_partition);
......
...@@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org> ...@@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
help help
--- a/init/main.c --- a/init/main.c
+++ b/init/main.c +++ b/init/main.c
@@ -359,6 +359,29 @@ static inline void setup_nr_cpu_ids(void @@ -358,6 +358,29 @@ static inline void setup_nr_cpu_ids(void
static inline void smp_prepare_cpus(unsigned int maxcpus) { } static inline void smp_prepare_cpus(unsigned int maxcpus) { }
#endif #endif
...@@ -61,7 +61,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org> ...@@ -61,7 +61,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
/* /*
* We need to store the untouched command line for future reference. * We need to store the untouched command line for future reference.
* We also need to store the touched command line since the parameter * We also need to store the touched command line since the parameter
@@ -540,6 +563,7 @@ asmlinkage __visible void __init start_k @@ -539,6 +562,7 @@ asmlinkage __visible void __init start_k
add_device_randomness(command_line, strlen(command_line)); add_device_randomness(command_line, strlen(command_line));
boot_init_stack_canary(); boot_init_stack_canary();
mm_init_cpumask(&init_mm); mm_init_cpumask(&init_mm);
......
...@@ -168,7 +168,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com> ...@@ -168,7 +168,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
static int kernel_init(void *); static int kernel_init(void *);
extern void init_IRQ(void); extern void init_IRQ(void);
@@ -574,6 +578,18 @@ asmlinkage __visible void __init start_k @@ -573,6 +577,18 @@ asmlinkage __visible void __init start_k
page_alloc_init(); page_alloc_init();
pr_notice("Kernel command line: %s\n", boot_command_line); pr_notice("Kernel command line: %s\n", boot_command_line);
......
...@@ -180,7 +180,7 @@ Signed-off-by: Michael Gray <michael.gray@lantisproject.com> ...@@ -180,7 +180,7 @@ Signed-off-by: Michael Gray <michael.gray@lantisproject.com>
static int kernel_init(void *); static int kernel_init(void *);
extern void init_IRQ(void); extern void init_IRQ(void);
@@ -574,6 +578,18 @@ asmlinkage __visible void __init start_k @@ -573,6 +577,18 @@ asmlinkage __visible void __init start_k
page_alloc_init(); page_alloc_init();
pr_notice("Kernel command line: %s\n", boot_command_line); pr_notice("Kernel command line: %s\n", boot_command_line);
......
...@@ -168,7 +168,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com> ...@@ -168,7 +168,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
static int kernel_init(void *); static int kernel_init(void *);
extern void init_IRQ(void); extern void init_IRQ(void);
@@ -574,6 +578,18 @@ asmlinkage __visible void __init start_k @@ -573,6 +577,18 @@ asmlinkage __visible void __init start_k
page_alloc_init(); page_alloc_init();
pr_notice("Kernel command line: %s\n", boot_command_line); pr_notice("Kernel command line: %s\n", boot_command_line);
......
...@@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org> ...@@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/drivers/media/usb/uvc/uvc_driver.c --- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -2735,6 +2735,18 @@ static const struct usb_device_id uvc_id @@ -2737,6 +2737,18 @@ static const struct usb_device_id uvc_id
.bInterfaceSubClass = 1, .bInterfaceSubClass = 1,
.bInterfaceProtocol = 0, .bInterfaceProtocol = 0,
.driver_info = UVC_QUIRK_FORCE_Y8 }, .driver_info = UVC_QUIRK_FORCE_Y8 },
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment