[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250616-aspeed-lpc-snoop-fixes-v2-5-3cdd59c934d3@codeconstruct.com.au>
Date: Mon, 16 Jun 2025 22:43:42 +0930
From: Andrew Jeffery <andrew@...econstruct.com.au>
To: linux-aspeed@...ts.ozlabs.org
Cc: Joel Stanley <joel@....id.au>, Henry Martin <bsdhenrymartin@...il.com>,
Jean Delvare <jdelvare@...e.de>,
Patrick Rudolph <patrick.rudolph@...ements.com>,
Andrew Geissler <geissonator@...oo.com>,
Ninad Palsule <ninad@...ux.ibm.com>, Patrick Venture <venture@...gle.com>,
Robert Lippert <roblip@...il.com>, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, Andrew Jeffery <andrew@...econstruct.com.au>
Subject: [PATCH v2 05/10] soc: aspeed: lpc-snoop: Rename 'channel' to
'index' in channel paths
We'll introduce another 'channel' variable shortly
Acked-by: Jean Delvare <jdelvare@...e.de>
Signed-off-by: Andrew Jeffery <andrew@...econstruct.com.au>
---
drivers/soc/aspeed/aspeed-lpc-snoop.c | 43 ++++++++++++++++++-----------------
1 file changed, 22 insertions(+), 21 deletions(-)
diff --git a/drivers/soc/aspeed/aspeed-lpc-snoop.c b/drivers/soc/aspeed/aspeed-lpc-snoop.c
index 804c6ed9c4c671da73a6c66c1de41c59922c82dc..e9d17239163a8ae5145bd3652fcec572b70bd11c 100644
--- a/drivers/soc/aspeed/aspeed-lpc-snoop.c
+++ b/drivers/soc/aspeed/aspeed-lpc-snoop.c
@@ -190,37 +190,37 @@ static int aspeed_lpc_snoop_config_irq(struct aspeed_lpc_snoop *lpc_snoop,
__attribute__((nonnull))
static int aspeed_lpc_enable_snoop(struct aspeed_lpc_snoop *lpc_snoop,
struct device *dev,
- enum aspeed_lpc_snoop_index channel, u16 lpc_port)
+ enum aspeed_lpc_snoop_index index, u16 lpc_port)
{
const struct aspeed_lpc_snoop_model_data *model_data;
u32 hicr5_en, snpwadr_mask, snpwadr_shift, hicrb_en;
int rc = 0;
- if (WARN_ON(lpc_snoop->chan[channel].enabled))
+ if (WARN_ON(lpc_snoop->chan[index].enabled))
return -EBUSY;
- init_waitqueue_head(&lpc_snoop->chan[channel].wq);
+ init_waitqueue_head(&lpc_snoop->chan[index].wq);
/* Create FIFO datastructure */
- rc = kfifo_alloc(&lpc_snoop->chan[channel].fifo,
+ rc = kfifo_alloc(&lpc_snoop->chan[index].fifo,
SNOOP_FIFO_SIZE, GFP_KERNEL);
if (rc)
return rc;
- lpc_snoop->chan[channel].miscdev.minor = MISC_DYNAMIC_MINOR;
- lpc_snoop->chan[channel].miscdev.name =
- devm_kasprintf(dev, GFP_KERNEL, "%s%d", DEVICE_NAME, channel);
- if (!lpc_snoop->chan[channel].miscdev.name) {
+ lpc_snoop->chan[index].miscdev.minor = MISC_DYNAMIC_MINOR;
+ lpc_snoop->chan[index].miscdev.name =
+ devm_kasprintf(dev, GFP_KERNEL, "%s%d", DEVICE_NAME, index);
+ if (!lpc_snoop->chan[index].miscdev.name) {
rc = -ENOMEM;
goto err_free_fifo;
}
- lpc_snoop->chan[channel].miscdev.fops = &snoop_fops;
- lpc_snoop->chan[channel].miscdev.parent = dev;
- rc = misc_register(&lpc_snoop->chan[channel].miscdev);
+ lpc_snoop->chan[index].miscdev.fops = &snoop_fops;
+ lpc_snoop->chan[index].miscdev.parent = dev;
+ rc = misc_register(&lpc_snoop->chan[index].miscdev);
if (rc)
goto err_free_fifo;
/* Enable LPC snoop channel at requested port */
- switch (channel) {
+ switch (index) {
case 0:
hicr5_en = HICR5_EN_SNP0W | HICR5_ENINT_SNP0W;
snpwadr_mask = SNPWADR_CH0_MASK;
@@ -246,25 +246,26 @@ static int aspeed_lpc_enable_snoop(struct aspeed_lpc_snoop *lpc_snoop,
if (model_data && model_data->has_hicrb_ensnp)
regmap_update_bits(lpc_snoop->regmap, HICRB, hicrb_en, hicrb_en);
- lpc_snoop->chan[channel].enabled = true;
+ lpc_snoop->chan[index].enabled = true;
return 0;
err_misc_deregister:
- misc_deregister(&lpc_snoop->chan[channel].miscdev);
+ misc_deregister(&lpc_snoop->chan[index].miscdev);
err_free_fifo:
- kfifo_free(&lpc_snoop->chan[channel].fifo);
+ kfifo_free(&lpc_snoop->chan[index].fifo);
return rc;
}
__attribute__((nonnull))
static void aspeed_lpc_disable_snoop(struct aspeed_lpc_snoop *lpc_snoop,
- enum aspeed_lpc_snoop_index channel)
+ enum aspeed_lpc_snoop_index index)
{
- if (!lpc_snoop->chan[channel].enabled)
+ if (!lpc_snoop->chan[index].enabled)
return;
- switch (channel) {
+ /* Disable interrupts along with the device */
+ switch (index) {
case 0:
regmap_update_bits(lpc_snoop->regmap, HICR5,
HICR5_EN_SNP0W | HICR5_ENINT_SNP0W,
@@ -279,10 +280,10 @@ static void aspeed_lpc_disable_snoop(struct aspeed_lpc_snoop *lpc_snoop,
return;
}
- lpc_snoop->chan[channel].enabled = false;
+ lpc_snoop->chan[index].enabled = false;
/* Consider improving safety wrt concurrent reader(s) */
- misc_deregister(&lpc_snoop->chan[channel].miscdev);
- kfifo_free(&lpc_snoop->chan[channel].fifo);
+ misc_deregister(&lpc_snoop->chan[index].miscdev);
+ kfifo_free(&lpc_snoop->chan[index].fifo);
}
static int aspeed_lpc_snoop_probe(struct platform_device *pdev)
--
2.39.5
Powered by blists - more mailing lists