diff options
| author | Takashi Iwai <tiwai@suse.de> | 2017-11-01 17:43:20 +0100 | 
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2017-11-01 17:43:20 +0100 | 
| commit | a53a0ab8ff725672fcb47bb9a5ef75fce45679d0 (patch) | |
| tree | 75cdea78f27fdd569d72cea0b7837bbcc8d871f7 /drivers/reset/reset-socfpga.c | |
| parent | 1f20f9ff57ca23b9f5502fca85ce3977e8496cb1 (diff) | |
| parent | b817d936248b9bcee8282e97fb1dda1b03c903fe (diff) | |
Merge tag 'asoc-fix-v4.14-rc7' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v4.14
A bunch of fixes here, mostly device specific ones (the biggest one
being the revert of the hotword support for rt5514), with a couple of
core fixes for potential issues with corrupted or otherwise invalid
topology files.
Diffstat (limited to 'drivers/reset/reset-socfpga.c')
| -rw-r--r-- | drivers/reset/reset-socfpga.c | 17 | 
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/reset/reset-socfpga.c b/drivers/reset/reset-socfpga.c index c60904ff40b8..3907bbc9c6cf 100644 --- a/drivers/reset/reset-socfpga.c +++ b/drivers/reset/reset-socfpga.c @@ -40,8 +40,9 @@ static int socfpga_reset_assert(struct reset_controller_dev *rcdev,  	struct socfpga_reset_data *data = container_of(rcdev,  						     struct socfpga_reset_data,  						     rcdev); -	int bank = id / BITS_PER_LONG; -	int offset = id % BITS_PER_LONG; +	int reg_width = sizeof(u32); +	int bank = id / (reg_width * BITS_PER_BYTE); +	int offset = id % (reg_width * BITS_PER_BYTE);  	unsigned long flags;  	u32 reg; @@ -61,8 +62,9 @@ static int socfpga_reset_deassert(struct reset_controller_dev *rcdev,  						     struct socfpga_reset_data,  						     rcdev); -	int bank = id / BITS_PER_LONG; -	int offset = id % BITS_PER_LONG; +	int reg_width = sizeof(u32); +	int bank = id / (reg_width * BITS_PER_BYTE); +	int offset = id % (reg_width * BITS_PER_BYTE);  	unsigned long flags;  	u32 reg; @@ -81,8 +83,9 @@ static int socfpga_reset_status(struct reset_controller_dev *rcdev,  {  	struct socfpga_reset_data *data = container_of(rcdev,  						struct socfpga_reset_data, rcdev); -	int bank = id / BITS_PER_LONG; -	int offset = id % BITS_PER_LONG; +	int reg_width = sizeof(u32); +	int bank = id / (reg_width * BITS_PER_BYTE); +	int offset = id % (reg_width * BITS_PER_BYTE);  	u32 reg;  	reg = readl(data->membase + (bank * BANK_INCREMENT)); @@ -132,7 +135,7 @@ static int socfpga_reset_probe(struct platform_device *pdev)  	spin_lock_init(&data->lock);  	data->rcdev.owner = THIS_MODULE; -	data->rcdev.nr_resets = NR_BANKS * BITS_PER_LONG; +	data->rcdev.nr_resets = NR_BANKS * (sizeof(u32) * BITS_PER_BYTE);  	data->rcdev.ops = &socfpga_reset_ops;  	data->rcdev.of_node = pdev->dev.of_node;  | 
