diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-04-20 10:43:37 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-04-20 10:43:37 -0700 |
commit | 34396bdfd2b7b41b9dcd2126eb1a57e43fe13368 (patch) | |
tree | 2b9eb37a8f999f4eecdb02196d45c924acfee799 | |
parent | 4b609f1e26f36c43e2dcdebe81e1d612705920d4 (diff) | |
parent | 709a53e1948494cc4f6c4636c6f84a4d36a8117e (diff) | |
download | lwn-34396bdfd2b7b41b9dcd2126eb1a57e43fe13368.tar.gz lwn-34396bdfd2b7b41b9dcd2126eb1a57e43fe13368.zip |
Merge tag 'i3c/fixes-for-5.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux
Pill i3c fixes from Boris Brezillon:
- fix the random PID check
- fix the disable controller logic in the designware driver
- fix I3C entry in MAINTAINERS
* tag 'i3c/fixes-for-5.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
MAINTAINERS: Fix the I3C entry
i3c: dw: Fix dw_i3c_master_disable controller by using correct mask
i3c: Fix the verification of random PID
-rw-r--r-- | MAINTAINERS | 1 | ||||
-rw-r--r-- | drivers/i3c/master.c | 5 | ||||
-rw-r--r-- | drivers/i3c/master/dw-i3c-master.c | 2 |
3 files changed, 3 insertions, 5 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index d18b4d62cc21..09f43f1bdd15 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7333,7 +7333,6 @@ F: Documentation/devicetree/bindings/i3c/ F: Documentation/driver-api/i3c F: drivers/i3c/ F: include/linux/i3c/ -F: include/dt-bindings/i3c/ I3C DRIVER FOR SYNOPSYS DESIGNWARE M: Vitor Soares <vitor.soares@synopsys.com> diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c index 2dc628d4f1ae..1412abcff010 100644 --- a/drivers/i3c/master.c +++ b/drivers/i3c/master.c @@ -1980,7 +1980,6 @@ of_i3c_master_add_i3c_boardinfo(struct i3c_master_controller *master, { struct i3c_dev_boardinfo *boardinfo; struct device *dev = &master->dev; - struct i3c_device_info info = { }; enum i3c_addr_slot_status addrstatus; u32 init_dyn_addr = 0; @@ -2012,8 +2011,8 @@ of_i3c_master_add_i3c_boardinfo(struct i3c_master_controller *master, boardinfo->pid = ((u64)reg[1] << 32) | reg[2]; - if ((info.pid & GENMASK_ULL(63, 48)) || - I3C_PID_RND_LOWER_32BITS(info.pid)) + if ((boardinfo->pid & GENMASK_ULL(63, 48)) || + I3C_PID_RND_LOWER_32BITS(boardinfo->pid)) return -EINVAL; boardinfo->init_dyn_addr = init_dyn_addr; diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c-master.c index 59279224e07f..10c26ffaa8ef 100644 --- a/drivers/i3c/master/dw-i3c-master.c +++ b/drivers/i3c/master/dw-i3c-master.c @@ -300,7 +300,7 @@ to_dw_i3c_master(struct i3c_master_controller *master) static void dw_i3c_master_disable(struct dw_i3c_master *master) { - writel(readl(master->regs + DEVICE_CTRL) & DEV_CTRL_ENABLE, + writel(readl(master->regs + DEVICE_CTRL) & ~DEV_CTRL_ENABLE, master->regs + DEVICE_CTRL); } |