Pull char/misc driver fixes from Greg KH: "Here are some tiny char/misc driver fixes for 5.13-rc4. Nothing huge here, just some tiny fixes for reported issues: - two interconnect driver fixes - kgdb build warning fix for gcc-11 - hgafb regression fix - soundwire driver fix - mei driver fix All have been in linux-next with no reported issues" * tag 'char-misc-5.13-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: mei: request autosuspend after sending rx flow control kgdb: fix gcc-11 warnings harder video: hgafb: correctly handle card detect failure during probe soundwire: qcom: fix handling of qcom,ports-block-pack-mode interconnect: qcom: Add missing MODULE_DEVICE_TABLE interconnect: qcom: bcm-voter: add a missing of_node_put()
Unified · Split
| @@ -1,6 +1,6 @@ | |||
| 1 | // SPDX-License-Identifier: GPL-2.0 | 1 | // SPDX-License-Identifier: GPL-2.0 |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2020, The Linux Foundation. All rights reserved. | 3 | * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. |
| 4 | */ | 4 | */ |
| 5 | 5 | ||
| 6 | #include <asm/div64.h> | 6 | #include <asm/div64.h> |
| @@ -205,6 +205,7 @@ struct bcm_voter *of_bcm_voter_get(struct device *dev, const char *name) · 198 unmodified lines | |||
| 205 | } | 205 | } |
| 206 | mutex_unlock(&bcm_voter_lock); | 206 | mutex_unlock(&bcm_voter_lock); |
| 207 | 207 | ||
| 208 | of_node_put(node); | ||
| 208 | return voter; | 209 | return voter; |
| 209 | } | 210 | } |
| 210 | EXPORT_SYMBOL_GPL(of_bcm_voter_get); | 211 | EXPORT_SYMBOL_GPL(of_bcm_voter_get); |
| @@ -362,6 +363,7 @@ static const struct of_device_id bcm_voter_of_match[] = { · 151 unmodified lines | |||
| 362 | { .compatible = "qcom,bcm-voter" }, | 363 | { .compatible = "qcom,bcm-voter" }, |
| 363 | { } | 364 | { } |
| 364 | }; | 365 | }; |
| 366 | MODULE_DEVICE_TABLE(of, bcm_voter_of_match); | ||
| 365 | 367 | ||
| 366 | static struct platform_driver qcom_icc_bcm_voter_driver = { | 368 | static struct platform_driver qcom_icc_bcm_voter_driver = { |
| 367 | .probe = qcom_icc_bcm_voter_probe, | 369 | .probe = qcom_icc_bcm_voter_probe, |
| @@ -101,8 +101,9 @@ · 100 unmodified lines | |||
| 101 | printk(KERN_INFO a); \ | 101 | printk(KERN_INFO a); \ |
| 102 | } while (0) | 102 | } while (0) |
| 103 | #define v2printk(a...) do { \ | 103 | #define v2printk(a...) do { \ |
| 104 | if (verbose > 1) \ | 104 | if (verbose > 1) { \ |
| 105 | printk(KERN_INFO a); \ | 105 | printk(KERN_INFO a); \ |
| 106 | } \ | ||
| 106 | touch_nmi_watchdog(); \ | 107 | touch_nmi_watchdog(); \ |
| 107 | } while (0) | 108 | } while (0) |
| 108 | #define eprintk(a...) do { \ | 109 | #define eprintk(a...) do { \ |
| @@ -277,6 +277,9 @@ static int mei_cl_irq_read(struct mei_cl *cl, struct mei_cl_cb *cb, · 276 unmodified lines | |||
| 277 | return ret; | 277 | return ret; |
| 278 | } | 278 | } |
| 279 | 279 | ||
| 280 | pm_runtime_mark_last_busy(dev->dev); | ||
| 281 | pm_request_autosuspend(dev->dev); | ||
| 282 | |||
| 280 | list_move_tail(&cb->list, &cl->rd_pending); | 283 | list_move_tail(&cb->list, &cl->rd_pending); |
| 281 | 284 | ||
| 282 | return 0; | 285 | return 0; |
| @@ -1150,8 +1150,16 @@ static int qcom_swrm_get_port_config(struct qcom_swrm_ctrl *ctrl) · 1149 unmodified lines | |||
| 1150 | 1150 | ||
| 1151 | ret = of_property_read_u8_array(np, "qcom,ports-block-pack-mode", | 1151 | ret = of_property_read_u8_array(np, "qcom,ports-block-pack-mode", |
| 1152 | bp_mode, nports); | 1152 | bp_mode, nports); |
| 1153 | if (ret) | 1153 | if (ret) { |
| 1154 | return ret; | 1154 | u32 version; |
| 1155 | |||
| 1156 | ctrl->reg_read(ctrl, SWRM_COMP_HW_VERSION, &version); | ||
| 1157 | |||
| 1158 | if (version <= 0x01030000) | ||
| 1159 | memset(bp_mode, SWR_INVALID_PARAM, QCOM_SDW_MAX_PORTS); | ||
| 1160 | else | ||
| 1161 | return ret; | ||
| 1162 | } | ||
| 1155 | 1163 | ||
| 1156 | memset(hstart, SWR_INVALID_PARAM, QCOM_SDW_MAX_PORTS); | 1164 | memset(hstart, SWR_INVALID_PARAM, QCOM_SDW_MAX_PORTS); |
| 1157 | of_property_read_u8_array(np, "qcom,ports-hstart", hstart, nports); | 1165 | of_property_read_u8_array(np, "qcom,ports-hstart", hstart, nports); |
| @@ -558,7 +558,7 @@ static int hgafb_probe(struct platform_device *pdev) · 557 unmodified lines | |||
| 558 | int ret; | 558 | int ret; |
| 559 | 559 | ||
| 560 | ret = hga_card_detect(); | 560 | ret = hga_card_detect(); |
| 561 | if (!ret) | 561 | if (ret) |
| 562 | return ret; | 562 | return ret; |
| 563 | 563 | ||
| 564 | printk(KERN_INFO "hgafb: %s with %ldK of memory detected.\n", | 564 | printk(KERN_INFO "hgafb: %s with %ldK of memory detected.\n", |