diff options
author | Koen Vandeputte <koen.vandeputte@ncentric.com> | 2020-02-04 13:17:37 +0100 |
---|---|---|
committer | Koen Vandeputte <koen.vandeputte@ncentric.com> | 2020-02-04 18:10:13 +0100 |
commit | 20b5a4ca01ca7b7c98dceb204e8b7b0a32f40cc9 (patch) | |
tree | 6f38b827a846b30a05ccdedca9e856a3661dbdc5 /target/linux/brcm2708 | |
parent | 1b310cff0f108cee59974f3c98dbd403da2960a0 (diff) | |
download | upstream-20b5a4ca01ca7b7c98dceb204e8b7b0a32f40cc9.tar.gz upstream-20b5a4ca01ca7b7c98dceb204e8b7b0a32f40cc9.tar.bz2 upstream-20b5a4ca01ca7b7c98dceb204e8b7b0a32f40cc9.zip |
kernel: bump 4.19 to 4.19.101
Refreshed all patches.
Fixes:
- CVE-2019-14896
- CVE-2019-14897
Remove upstreamed:
- 023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch
- 950-0202-staging-bcm2835-camera-fix-module-autoloading.patch
- 001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch
Compile-tested on: cns3xxx
Runtime-tested on: cns3xxx
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Diffstat (limited to 'target/linux/brcm2708')
14 files changed, 24 insertions, 100 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0032-lan78xx-Enable-LEDs-and-auto-negotiation.patch b/target/linux/brcm2708/patches-4.19/950-0032-lan78xx-Enable-LEDs-and-auto-negotiation.patch index e635ca6d31..4f7bde1885 100644 --- a/target/linux/brcm2708/patches-4.19/950-0032-lan78xx-Enable-LEDs-and-auto-negotiation.patch +++ b/target/linux/brcm2708/patches-4.19/950-0032-lan78xx-Enable-LEDs-and-auto-negotiation.patch @@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2476,6 +2476,11 @@ static int lan78xx_reset(struct lan78xx_ +@@ -2477,6 +2477,11 @@ static int lan78xx_reset(struct lan78xx_ int ret = 0; unsigned long timeout; u8 sig; @@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> ret = lan78xx_read_reg(dev, HW_CFG, &buf); buf |= HW_CFG_LRST_; -@@ -2529,6 +2534,9 @@ static int lan78xx_reset(struct lan78xx_ +@@ -2530,6 +2535,9 @@ static int lan78xx_reset(struct lan78xx_ ret = lan78xx_read_reg(dev, HW_CFG, &buf); buf |= HW_CFG_MEF_; @@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> ret = lan78xx_write_reg(dev, HW_CFG, buf); ret = lan78xx_read_reg(dev, USB_CFG0, &buf); -@@ -2584,6 +2592,9 @@ static int lan78xx_reset(struct lan78xx_ +@@ -2585,6 +2593,9 @@ static int lan78xx_reset(struct lan78xx_ buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_; } } diff --git a/target/linux/brcm2708/patches-4.19/950-0056-BCM2708-Add-core-Device-Tree-support.patch b/target/linux/brcm2708/patches-4.19/950-0056-BCM2708-Add-core-Device-Tree-support.patch index 72b9cfc131..a2f937d893 100644 --- a/target/linux/brcm2708/patches-4.19/950-0056-BCM2708-Add-core-Device-Tree-support.patch +++ b/target/linux/brcm2708/patches-4.19/950-0056-BCM2708-Add-core-Device-Tree-support.patch @@ -2119,17 +2119,6 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> + <&cpu3>, "clock-frequency:0"; + }; +}; ---- a/arch/arm/boot/dts/bcm2835-rpi.dtsi -+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi -@@ -32,7 +32,7 @@ - - mailbox@7e00b840 { - compatible = "brcm,bcm2835-vchiq"; -- reg = <0x7e00b840 0xf>; -+ reg = <0x7e00b840 0x3c>; - interrupts = <0 2>; - }; - }; --- a/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi +++ b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi @@ -21,7 +21,24 @@ diff --git a/target/linux/brcm2708/patches-4.19/950-0120-lan78xx-Read-initial-EEE-status-from-DT.patch b/target/linux/brcm2708/patches-4.19/950-0120-lan78xx-Read-initial-EEE-status-from-DT.patch index 01dc3554ff..b5e688c3bf 100644 --- a/target/linux/brcm2708/patches-4.19/950-0120-lan78xx-Read-initial-EEE-status-from-DT.patch +++ b/target/linux/brcm2708/patches-4.19/950-0120-lan78xx-Read-initial-EEE-status-from-DT.patch @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2658,6 +2658,22 @@ static int lan78xx_open(struct net_devic +@@ -2659,6 +2659,22 @@ static int lan78xx_open(struct net_devic netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); diff --git a/target/linux/brcm2708/patches-4.19/950-0127-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch b/target/linux/brcm2708/patches-4.19/950-0127-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch index 28515c9d09..bd9987d8ad 100644 --- a/target/linux/brcm2708/patches-4.19/950-0127-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch +++ b/target/linux/brcm2708/patches-4.19/950-0127-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch @@ -21,7 +21,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -439,6 +439,15 @@ static int msg_level = -1; +@@ -440,6 +440,15 @@ static int msg_level = -1; module_param(msg_level, int, 0); MODULE_PARM_DESC(msg_level, "Override default message level"); @@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) { u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL); -@@ -3009,8 +3018,14 @@ static int lan78xx_bind(struct lan78xx_n +@@ -3010,8 +3019,14 @@ static int lan78xx_bind(struct lan78xx_n if (DEFAULT_RX_CSUM_ENABLE) dev->net->features |= NETIF_F_RXCSUM; diff --git a/target/linux/brcm2708/patches-4.19/950-0128-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch b/target/linux/brcm2708/patches-4.19/950-0128-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch index 9b5e492c9b..2b1a3c1ab7 100644 --- a/target/linux/brcm2708/patches-4.19/950-0128-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch +++ b/target/linux/brcm2708/patches-4.19/950-0128-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch @@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2190,6 +2190,22 @@ static int lan78xx_phy_init(struct lan78 +@@ -2191,6 +2191,22 @@ static int lan78xx_phy_init(struct lan78 mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control); phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv); @@ -39,7 +39,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> if (phydev->mdio.dev.of_node) { u32 reg; int len; -@@ -2667,22 +2683,6 @@ static int lan78xx_open(struct net_devic +@@ -2668,22 +2684,6 @@ static int lan78xx_open(struct net_devic netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); diff --git a/target/linux/brcm2708/patches-4.19/950-0202-staging-bcm2835-camera-fix-module-autoloading.patch b/target/linux/brcm2708/patches-4.19/950-0202-staging-bcm2835-camera-fix-module-autoloading.patch deleted file mode 100644 index 161949da18..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0202-staging-bcm2835-camera-fix-module-autoloading.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 8b6e9f2a951b38becf5b8a1e99ba1993f7751aac Mon Sep 17 00:00:00 2001 -From: Stefan Wahren <stefan.wahren@i2se.com> -Date: Sat, 20 Oct 2018 19:26:18 +0200 -Subject: [PATCH] staging: bcm2835-camera: fix module autoloading - -In order to make the module bcm2835-camera load automatically, we need to -add a module alias. - -Fixes: 4bebb0312ea9 ("staging/bcm2835-camera: Set ourselves up as a platform driver.") -Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> ---- - drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c -+++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c -@@ -47,6 +47,7 @@ MODULE_DESCRIPTION("Broadcom 2835 MMAL v - MODULE_AUTHOR("Vincent Sanders"); - MODULE_LICENSE("GPL"); - MODULE_VERSION(BM2835_MMAL_VERSION); -+MODULE_ALIAS("platform:bcm2835-camera"); - - int bcm2835_v4l2_debug; - module_param_named(debug, bcm2835_v4l2_debug, int, 0644); diff --git a/target/linux/brcm2708/patches-4.19/950-0203-staging-bcm2835-camera-Move-module-info-to-the-end.patch b/target/linux/brcm2708/patches-4.19/950-0203-staging-bcm2835-camera-Move-module-info-to-the-end.patch index 19c59f6077..f97a88ba65 100644 --- a/target/linux/brcm2708/patches-4.19/950-0203-staging-bcm2835-camera-Move-module-info-to-the-end.patch +++ b/target/linux/brcm2708/patches-4.19/950-0203-staging-bcm2835-camera-Move-module-info-to-the-end.patch @@ -26,7 +26,7 @@ Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> int bcm2835_v4l2_debug; module_param_named(debug, bcm2835_v4l2_debug, int, 0644); MODULE_PARM_DESC(bcm2835_v4l2_debug, "Debug level 0-2"); -@@ -1980,3 +1974,9 @@ static struct platform_driver bcm2835_ca +@@ -1989,3 +1983,9 @@ static struct platform_driver bcm2835_ca }; module_platform_driver(bcm2835_camera_driver) diff --git a/target/linux/brcm2708/patches-4.19/950-0206-staging-bcm2835-camera-Provide-more-specific-probe-e.patch b/target/linux/brcm2708/patches-4.19/950-0206-staging-bcm2835-camera-Provide-more-specific-probe-e.patch index a568366855..e7566d182d 100644 --- a/target/linux/brcm2708/patches-4.19/950-0206-staging-bcm2835-camera-Provide-more-specific-probe-e.patch +++ b/target/linux/brcm2708/patches-4.19/950-0206-staging-bcm2835-camera-Provide-more-specific-probe-e.patch @@ -98,7 +98,7 @@ Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> return 0; -@@ -1880,21 +1891,29 @@ static int bcm2835_mmal_probe(struct pla +@@ -1886,21 +1897,29 @@ static int bcm2835_mmal_probe(struct pla snprintf(dev->v4l2_dev.name, sizeof(dev->v4l2_dev.name), "%s", BM2835_MMAL_MODULE_NAME); ret = v4l2_device_register(NULL, &dev->v4l2_dev); @@ -132,7 +132,7 @@ Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> /* initialize queue */ q = &dev->capture.vb_vidq; memset(q, 0, sizeof(*q)); -@@ -1912,16 +1931,19 @@ static int bcm2835_mmal_probe(struct pla +@@ -1918,16 +1937,19 @@ static int bcm2835_mmal_probe(struct pla /* initialise video devices */ ret = bm2835_mmal_init_device(dev, &dev->vdev); @@ -155,12 +155,12 @@ Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> goto unreg_dev; } -@@ -1945,8 +1967,6 @@ cleanup_gdev: +@@ -1951,8 +1973,6 @@ cleanup_gdev: bcm2835_cleanup_instance(gdev[i]); gdev[i] = NULL; } - pr_info("%s: error %d while loading driver\n", - BM2835_MMAL_MODULE_NAME, ret); - return ret; - } + cleanup_mmal: + vchiq_mmal_finalise(instance); diff --git a/target/linux/brcm2708/patches-4.19/950-0208-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch b/target/linux/brcm2708/patches-4.19/950-0208-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch deleted file mode 100644 index 96236f36d5..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0208-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch +++ /dev/null @@ -1,41 +0,0 @@ -From b0ebcf556b543b0b509ad071584ca6b41076a2da Mon Sep 17 00:00:00 2001 -From: Stefan Wahren <stefan.wahren@i2se.com> -Date: Mon, 22 Oct 2018 11:09:18 +0200 -Subject: [PATCH] staging: bcm2835: Don't probe if no camera is - detected - -It is a waste of resources to load the camera driver in case there isn't -a camera actually connected to the Raspberry Pi. This solution also -avoids a NULL ptr dereference of mmal instance on driver unload. - -Fixes: 7b3ad5abf027 ("staging: Import the BCM2835 MMAL-based V4L2 camera driver.") -Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> ---- - .../vc04_services/bcm2835-camera/bcm2835-camera.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - ---- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c -+++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c -@@ -1860,6 +1860,12 @@ static int bcm2835_mmal_probe(struct pla - num_cameras = get_num_cameras(instance, - resolutions, - MAX_BCM2835_CAMERAS); -+ -+ if (num_cameras < 1) { -+ ret = -ENODEV; -+ goto cleanup_mmal; -+ } -+ - if (num_cameras > MAX_BCM2835_CAMERAS) - num_cameras = MAX_BCM2835_CAMERAS; - -@@ -1968,6 +1974,9 @@ cleanup_gdev: - gdev[i] = NULL; - } - -+cleanup_mmal: -+ vchiq_mmal_finalise(instance); -+ - return ret; - } - diff --git a/target/linux/brcm2708/patches-4.19/950-0261-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch b/target/linux/brcm2708/patches-4.19/950-0261-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch index 98e97706b0..395934dd49 100644 --- a/target/linux/brcm2708/patches-4.19/950-0261-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch +++ b/target/linux/brcm2708/patches-4.19/950-0261-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch @@ -16,7 +16,7 @@ See: https://github.com/raspberrypi/linux/issues/2447 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -448,6 +448,11 @@ static bool enable_tso; +@@ -449,6 +449,11 @@ static bool enable_tso; module_param(enable_tso, bool, 0644); MODULE_PARM_DESC(enable_tso, "Enables TCP segmentation offload"); @@ -28,7 +28,7 @@ See: https://github.com/raspberrypi/linux/issues/2447 static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) { u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL); -@@ -3823,7 +3828,12 @@ static int lan78xx_probe(struct usb_inte +@@ -3838,7 +3843,12 @@ static int lan78xx_probe(struct usb_inte dev->pipe_intr = usb_rcvintpipe(dev->udev, dev->ep_intr->desc.bEndpointAddress & USB_ENDPOINT_NUMBER_MASK); diff --git a/target/linux/brcm2708/patches-4.19/950-0318-lan78xx-EEE-support-is-now-a-PHY-property.patch b/target/linux/brcm2708/patches-4.19/950-0318-lan78xx-EEE-support-is-now-a-PHY-property.patch index d147ce9eec..b37640dbed 100644 --- a/target/linux/brcm2708/patches-4.19/950-0318-lan78xx-EEE-support-is-now-a-PHY-property.patch +++ b/target/linux/brcm2708/patches-4.19/950-0318-lan78xx-EEE-support-is-now-a-PHY-property.patch @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2195,7 +2195,7 @@ static int lan78xx_phy_init(struct lan78 +@@ -2196,7 +2196,7 @@ static int lan78xx_phy_init(struct lan78 mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control); phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv); diff --git a/target/linux/brcm2708/patches-4.19/950-0415-lan78xx-use-default-alignment-for-rx-buffers.patch b/target/linux/brcm2708/patches-4.19/950-0415-lan78xx-use-default-alignment-for-rx-buffers.patch index c5eca2e076..6b93888db9 100644 --- a/target/linux/brcm2708/patches-4.19/950-0415-lan78xx-use-default-alignment-for-rx-buffers.patch +++ b/target/linux/brcm2708/patches-4.19/950-0415-lan78xx-use-default-alignment-for-rx-buffers.patch @@ -12,7 +12,7 @@ in both dwc_otg and in ipv6 processing. --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -3256,7 +3256,7 @@ static int rx_submit(struct lan78xx_net +@@ -3257,7 +3257,7 @@ static int rx_submit(struct lan78xx_net size_t size = dev->rx_urb_size; int ret = 0; diff --git a/target/linux/brcm2708/patches-4.19/950-0638-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/target/linux/brcm2708/patches-4.19/950-0638-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch index 3320097b10..c0a7af1ee7 100644 --- a/target/linux/brcm2708/patches-4.19/950-0638-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch +++ b/target/linux/brcm2708/patches-4.19/950-0638-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch @@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org> #define USB_VENDOR_ID_BELKIN 0x050d #define USB_DEVICE_ID_FLIP_KVM 0x3201 -@@ -1193,6 +1196,9 @@ +@@ -1196,6 +1199,9 @@ #define USB_VENDOR_ID_XAT 0x2505 #define USB_DEVICE_ID_XAT_CSR 0x0220 @@ -58,6 +58,6 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org> { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD2, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, + { HID_USB_DEVICE(USB_VENDOR_ID_XENTA, USB_DEVICE_ID_AIRMOUSE_MX3), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE }, + { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT }, { 0 } - }; diff --git a/target/linux/brcm2708/patches-4.19/950-0759-cpufreq-scpi-scmi-Fix-freeing-of-dynamic-OPPs.patch b/target/linux/brcm2708/patches-4.19/950-0759-cpufreq-scpi-scmi-Fix-freeing-of-dynamic-OPPs.patch index 45c0594c53..acdb00fd48 100644 --- a/target/linux/brcm2708/patches-4.19/950-0759-cpufreq-scpi-scmi-Fix-freeing-of-dynamic-OPPs.patch +++ b/target/linux/brcm2708/patches-4.19/950-0759-cpufreq-scpi-scmi-Fix-freeing-of-dynamic-OPPs.patch @@ -78,7 +78,7 @@ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> } --- a/drivers/opp/core.c +++ b/drivers/opp/core.c -@@ -881,11 +881,9 @@ void _opp_free(struct dev_pm_opp *opp) +@@ -884,11 +884,9 @@ void _opp_free(struct dev_pm_opp *opp) kfree(opp); } @@ -92,7 +92,7 @@ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> /* * Notify the changes in the availability of the operable * frequency/voltage list. -@@ -894,7 +892,22 @@ static void _opp_kref_release(struct kre +@@ -897,7 +895,22 @@ static void _opp_kref_release(struct kre opp_debug_remove_one(opp); list_del(&opp->node); kfree(opp); @@ -115,7 +115,7 @@ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> mutex_unlock(&opp_table->lock); dev_pm_opp_put_opp_table(opp_table); } -@@ -906,10 +919,16 @@ void dev_pm_opp_get(struct dev_pm_opp *o +@@ -909,10 +922,16 @@ void dev_pm_opp_get(struct dev_pm_opp *o void dev_pm_opp_put(struct dev_pm_opp *opp) { @@ -133,7 +133,7 @@ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> /** * dev_pm_opp_remove() - Remove an OPP from OPP table * @dev: device for which we do this operation -@@ -949,6 +968,40 @@ void dev_pm_opp_remove(struct device *de +@@ -952,6 +971,40 @@ void dev_pm_opp_remove(struct device *de } EXPORT_SYMBOL_GPL(dev_pm_opp_remove); |