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 | 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 | 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 | 206 | mutex_unlock(&bcm_voter_lock); |
| 207 | 207 | |
| 208 | + of_node_put(node); | |
| 208 | 209 | return voter; |
| 209 | 210 | } |
| 210 | 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 | 363 | { .compatible = "qcom,bcm-voter" }, |
| 363 | 364 | { } |
| 364 | 365 | }; |
| 366 | +MODULE_DEVICE_TABLE(of, bcm_voter_of_match); | |
| 365 | 367 | |
| 366 | 368 | static struct platform_driver qcom_icc_bcm_voter_driver = { |
| 367 | 369 | .probe = qcom_icc_bcm_voter_probe, |
| @@ -101,8 +101,9 @@ · 100 unmodified lines | ||
| 101 | 101 | printk(KERN_INFO a); \ |
| 102 | 102 | } while (0) |
| 103 | 103 | #define v2printk(a...) do { \ |
| 104 | − if (verbose > 1) \ | |
| 104 | + if (verbose > 1) { \ | |
| 105 | 105 | printk(KERN_INFO a); \ |
| 106 | + } \ | |
| 106 | 107 | touch_nmi_watchdog(); \ |
| 107 | 108 | } while (0) |
| 108 | 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 | 277 | return ret; |
| 278 | 278 | } |
| 279 | 279 | |
| 280 | + pm_runtime_mark_last_busy(dev->dev); | |
| 281 | + pm_request_autosuspend(dev->dev); | |
| 282 | + | |
| 280 | 283 | list_move_tail(&cb->list, &cl->rd_pending); |
| 281 | 284 | |
| 282 | 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 | 1151 | ret = of_property_read_u8_array(np, "qcom,ports-block-pack-mode", |
| 1152 | 1152 | bp_mode, nports); |
| 1153 | − if (ret) | |
| 1154 | − return ret; | |
| 1153 | + if (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 | 1164 | memset(hstart, SWR_INVALID_PARAM, QCOM_SDW_MAX_PORTS); |
| 1157 | 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 | 558 | int ret; |
| 559 | 559 | |
| 560 | 560 | ret = hga_card_detect(); |
| 561 | − if (!ret) | |
| 561 | + if (ret) | |
| 562 | 562 | return ret; |
| 563 | 563 | |
| 564 | 564 | printk(KERN_INFO "hgafb: %s with %ldK of memory detected.\n", |