i2c: piix4: Move i2c_piix4 macros and structures to common header

Add a separate header file to relocate the common code from the i2c_piix4
driver, allowing the AMD ASF driver to utilize the same code.

Update the MAINTAINERS file to include information about the new common
header file.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Co-developed-by: Sanket Goswami <Sanket.Goswami@amd.com>
Signed-off-by: Sanket Goswami <Sanket.Goswami@amd.com>
Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
This commit is contained in:
Shyam Sundar S K 2024-09-23 13:33:55 +05:30 committed by Andi Shyti
parent 9d9929e992
commit 650e2c396a
3 changed files with 41 additions and 21 deletions

View File

@ -10723,7 +10723,7 @@ F: drivers/i2c/busses/i2c-i801.c
F: drivers/i2c/busses/i2c-isch.c
F: drivers/i2c/busses/i2c-nforce2-s4985.c
F: drivers/i2c/busses/i2c-nforce2.c
F: drivers/i2c/busses/i2c-piix4.c
F: drivers/i2c/busses/i2c-piix4.*
F: drivers/i2c/busses/i2c-sis5595.c
F: drivers/i2c/busses/i2c-sis630.c
F: drivers/i2c/busses/i2c-sis96x.c

View File

@ -35,20 +35,7 @@
#include <linux/acpi.h>
#include <linux/io.h>
/* PIIX4 SMBus address offsets */
#define SMBHSTSTS (0 + piix4_smba)
#define SMBHSLVSTS (1 + piix4_smba)
#define SMBHSTCNT (2 + piix4_smba)
#define SMBHSTCMD (3 + piix4_smba)
#define SMBHSTADD (4 + piix4_smba)
#define SMBHSTDAT0 (5 + piix4_smba)
#define SMBHSTDAT1 (6 + piix4_smba)
#define SMBBLKDAT (7 + piix4_smba)
#define SMBSLVCNT (8 + piix4_smba)
#define SMBSHDWCMD (9 + piix4_smba)
#define SMBSLVEVT (0xA + piix4_smba)
#define SMBSLVDAT (0xC + piix4_smba)
#include "i2c-piix4.h"
/* count for request_region */
#define SMBIOSIZE 9
@ -70,7 +57,6 @@
#define PIIX4_BYTE 0x04
#define PIIX4_BYTE_DATA 0x08
#define PIIX4_WORD_DATA 0x0C
#define PIIX4_BLOCK_DATA 0x14
/* Multi-port constants */
#define PIIX4_MAX_ADAPTERS 4
@ -160,11 +146,6 @@ static const char *piix4_main_port_names_sb800[PIIX4_MAX_ADAPTERS] = {
};
static const char *piix4_aux_port_name_sb800 = " port 1";
struct sb800_mmio_cfg {
void __iomem *addr;
bool use_mmio;
};
struct i2c_piix4_adapdata {
unsigned short smba;

View File

@ -0,0 +1,39 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* PIIX4/SB800 SMBus Interfaces
*
* Copyright (c) 2024, Advanced Micro Devices, Inc.
* All Rights Reserved.
*
* Authors: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
* Sanket Goswami <Sanket.Goswami@amd.com>
*/
#ifndef I2C_PIIX4_H
#define I2C_PIIX4_H
#include <linux/types.h>
/* PIIX4 SMBus address offsets */
#define SMBHSTSTS (0x00 + piix4_smba)
#define SMBHSLVSTS (0x01 + piix4_smba)
#define SMBHSTCNT (0x02 + piix4_smba)
#define SMBHSTCMD (0x03 + piix4_smba)
#define SMBHSTADD (0x04 + piix4_smba)
#define SMBHSTDAT0 (0x05 + piix4_smba)
#define SMBHSTDAT1 (0x06 + piix4_smba)
#define SMBBLKDAT (0x07 + piix4_smba)
#define SMBSLVCNT (0x08 + piix4_smba)
#define SMBSHDWCMD (0x09 + piix4_smba)
#define SMBSLVEVT (0x0A + piix4_smba)
#define SMBSLVDAT (0x0C + piix4_smba)
/* PIIX4 constants */
#define PIIX4_BLOCK_DATA 0x14
struct sb800_mmio_cfg {
void __iomem *addr;
bool use_mmio;
};
#endif /* I2C_PIIX4_H */