Re: [PATCH] i2c: i801: Use standard PCI constants instead of own ones

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 22 May 2021 23:46:20 +0200, Heiner Kallweit wrote:
> Layout of these registers is part of the PCI standard. Therefore use
> the constants defined by the PCI subsystem.
> 
> Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx>
> ---
>  drivers/i2c/busses/i2c-i801.c | 20 ++++++--------------
>  1 file changed, 6 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c
> index 738204d77..f6d7866f1 100644
> --- a/drivers/i2c/busses/i2c-i801.c
> +++ b/drivers/i2c/busses/i2c-i801.c
> @@ -131,8 +131,6 @@
>  
>  /* PCI Address Constants */
>  #define SMBBAR		4
> -#define SMBPCICTL	0x004
> -#define SMBPCISTS	0x006
>  #define SMBHSTCFG	0x040
>  #define TCOBASE		0x050
>  #define TCOCTL		0x054
> @@ -141,12 +139,6 @@
>  #define SBREG_SMBCTRL		0xc6000c
>  #define SBREG_SMBCTRL_DNV	0xcf000c
>  
> -/* Host status bits for SMBPCISTS */
> -#define SMBPCISTS_INTS		BIT(3)
> -
> -/* Control bits for SMBPCICTL */
> -#define SMBPCICTL_INTDIS	BIT(10)
> -
>  /* Host configuration bits for SMBHSTCFG */
>  #define SMBHSTCFG_HST_EN	BIT(0)
>  #define SMBHSTCFG_SMB_SMI_EN	BIT(1)
> @@ -648,8 +640,8 @@ static irqreturn_t i801_isr(int irq, void *dev_id)
>  	u8 status;
>  
>  	/* Confirm this is our interrupt */
> -	pci_read_config_word(priv->pci_dev, SMBPCISTS, &pcists);
> -	if (!(pcists & SMBPCISTS_INTS))
> +	pci_read_config_word(priv->pci_dev, PCI_STATUS, &pcists);
> +	if (!(pcists & PCI_STATUS_INTERRUPT))
>  		return IRQ_NONE;
>  
>  	if (priv->features & FEATURE_HOST_NOTIFY) {
> @@ -1866,13 +1858,13 @@ static int i801_probe(struct pci_dev *dev, const struct pci_device_id *id)
>  		u16 pcictl, pcists;
>  
>  		/* Complain if an interrupt is already pending */
> -		pci_read_config_word(priv->pci_dev, SMBPCISTS, &pcists);
> -		if (pcists & SMBPCISTS_INTS)
> +		pci_read_config_word(priv->pci_dev, PCI_STATUS, &pcists);
> +		if (pcists & PCI_STATUS_INTERRUPT)
>  			dev_warn(&dev->dev, "An interrupt is pending!\n");
>  
>  		/* Check if interrupts have been disabled */
> -		pci_read_config_word(priv->pci_dev, SMBPCICTL, &pcictl);
> -		if (pcictl & SMBPCICTL_INTDIS) {
> +		pci_read_config_word(priv->pci_dev, PCI_COMMAND, &pcictl);
> +		if (pcictl & PCI_COMMAND_INTX_DISABLE) {
>  			dev_info(&dev->dev, "Interrupts are disabled\n");
>  			priv->features &= ~FEATURE_IRQ;
>  		}

Nice, thanks for the clean-up.

Reviewed-by: Jean Delvare <jdelvare@xxxxxxx>
Tested-by: Jean Delvare <jdelvare@xxxxxxx>

-- 
Jean Delvare
SUSE L3 Support



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux