On Sat, 20 Jul 2024, Suma Hegde wrote: > This is in preparation to splitting ACPI and platform device drivers. > No logical change, move common structures and macros to hsmp.h > > Signed-off-by: Suma Hegde <suma.hegde@xxxxxxx> > Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@xxxxxxx> > Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> > --- > Changes since v2: > None > Changes since v1: > 1. Correct typo mistake in commit message > 2. Add "Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>" > 3. Arrange header files in alphabetical order for hsmp.h > > drivers/platform/x86/amd/hsmp/hsmp.c | 42 ++-------------------- > drivers/platform/x86/amd/hsmp/hsmp.h | 54 ++++++++++++++++++++++++++++ > 2 files changed, 56 insertions(+), 40 deletions(-) > create mode 100644 drivers/platform/x86/amd/hsmp/hsmp.h > > diff --git a/drivers/platform/x86/amd/hsmp/hsmp.c b/drivers/platform/x86/amd/hsmp/hsmp.c > index 10ab9b2437f1..2c9ba51b9614 100644 > --- a/drivers/platform/x86/amd/hsmp/hsmp.c > +++ b/drivers/platform/x86/amd/hsmp/hsmp.c > @@ -9,15 +9,14 @@ > > #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt > > +#include "hsmp.h" > + > #include <asm/amd_hsmp.h> > #include <asm/amd_nb.h> > #include <linux/delay.h> > -#include <linux/io.h> > -#include <linux/miscdevice.h> > #include <linux/module.h> > #include <linux/pci.h> > #include <linux/platform_device.h> > -#include <linux/semaphore.h> > #include <linux/acpi.h> > > #define DRIVER_NAME "amd_hsmp" > @@ -51,48 +50,11 @@ > #define HSMP_INDEX_REG 0xc4 > #define HSMP_DATA_REG 0xc8 > > -#define HSMP_CDEV_NAME "hsmp_cdev" > -#define HSMP_DEVNODE_NAME "hsmp" > -#define HSMP_METRICS_TABLE_NAME "metrics_bin" > - > -#define HSMP_ATTR_GRP_NAME_SIZE 10 > - > /* These are the strings specified in ACPI table */ > #define MSG_IDOFF_STR "MsgIdOffset" > #define MSG_ARGOFF_STR "MsgArgOffset" > #define MSG_RESPOFF_STR "MsgRspOffset" > > -#define MAX_AMD_SOCKETS 8 > - > -struct hsmp_mbaddr_info { > - u32 base_addr; > - u32 msg_id_off; > - u32 msg_resp_off; > - u32 msg_arg_off; > - u32 size; > -}; > - > -struct hsmp_socket { > - struct bin_attribute hsmp_attr; > - struct hsmp_mbaddr_info mbinfo; > - void __iomem *metric_tbl_addr; > - void __iomem *virt_base_addr; > - struct semaphore hsmp_sem; > - char name[HSMP_ATTR_GRP_NAME_SIZE]; > - struct pci_dev *root; > - struct device *dev; > - u16 sock_ind; > -}; > - > -struct hsmp_plat_device { > - struct miscdevice hsmp_device; > - struct hsmp_socket *sock; > - u32 proto_ver; > - u16 num_sockets; > - bool is_acpi_device; > - bool is_probed; > -}; > - > static struct hsmp_plat_device plat_dev; > > static int amd_hsmp_pci_rdwr(struct hsmp_socket *sock, u32 offset, > diff --git a/drivers/platform/x86/amd/hsmp/hsmp.h b/drivers/platform/x86/amd/hsmp/hsmp.h > new file mode 100644 > index 000000000000..5afc7167fac1 > --- /dev/null > +++ b/drivers/platform/x86/amd/hsmp/hsmp.h > @@ -0,0 +1,54 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +/* > + * AMD HSMP Platform Driver > + * Copyright (c) 2024, AMD. > + * All Rights Reserved. > + * > + * Header file for HSMP driver > + */ > + > +#ifndef HSMP_H > +#define HSMP_H > + > +#include <linux/io.h> > +#include <linux/miscdevice.h> > +#include <linux/semaphore.h> > + > +#define HSMP_METRICS_TABLE_NAME "metrics_bin" > + > +#define HSMP_ATTR_GRP_NAME_SIZE 10 > + > +#define MAX_AMD_SOCKETS 8 > + > +#define HSMP_CDEV_NAME "hsmp_cdev" > +#define HSMP_DEVNODE_NAME "hsmp" > + > +struct hsmp_mbaddr_info { > + u32 base_addr; > + u32 msg_id_off; > + u32 msg_resp_off; > + u32 msg_arg_off; > + u32 size; > +}; > + > +struct hsmp_socket { > + struct bin_attribute hsmp_attr; This requires #include <linux/sysfs.h> -- i. > + struct hsmp_mbaddr_info mbinfo; > + void __iomem *metric_tbl_addr; > + void __iomem *virt_base_addr; > + struct semaphore hsmp_sem; > + char name[HSMP_ATTR_GRP_NAME_SIZE]; > + struct pci_dev *root; > + struct device *dev; > + u16 sock_ind; > +}; > + > +struct hsmp_plat_device { > + struct miscdevice hsmp_device; > + struct hsmp_socket *sock; > + u32 proto_ver; > + u16 num_sockets; > + bool is_acpi_device; > + bool is_probed; > +}; > +#endif /* HSMP_H */ >