[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c5ba2683-8186-5e97-928e-ecac78fbf049@redhat.com>
Date: Thu, 9 Jun 2022 11:25:29 +0200
From: Eric Auger <eric.auger@...hat.com>
To: Alex Williamson <alex.williamson@...hat.com>
Cc: kwankhede@...dia.com, farman@...ux.ibm.com, mjrosato@...ux.ibm.com,
pasic@...ux.ibm.com, diana.craciun@....nxp.com, cohuck@...hat.com,
kvm@...r.kernel.org, linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-s390@...r.kernel.org,
jgg@...dia.com, yishaih@...dia.com, hch@....de
Subject: Re: [PATCH] vfio: de-extern-ify function prototypes
Hi Alex,
On 6/8/22 20:55, Alex Williamson wrote:
> The use of 'extern' in function prototypes has been disrecommended in
> the kernel coding style for several years now, remove them from all vfio
> related files so contributors no longer need to decide between style and
> consistency.
>
> Signed-off-by: Alex Williamson <alex.williamson@...hat.com>
Reviewed-by: Eric Auger <eric.auger@...hat.com>
Eric
> ---
>
> A patch in the same vein was proposed about a year ago, but tied to an ill
> fated series and forgotten. Now that we're at the beginning of a new
> development cycle, I'd like to propose kicking off the v5.20 vfio next
> branch with this patch and would kindly ask anyone with pending respins or
> significant conflicts to rebase on top of this patch. Thanks!
>
> Documentation/driver-api/vfio-mediated-device.rst | 10 ++-
> drivers/s390/cio/vfio_ccw_cp.h | 12 ++--
> drivers/s390/cio/vfio_ccw_private.h | 6 +-
> drivers/vfio/fsl-mc/vfio_fsl_mc_private.h | 2 -
> drivers/vfio/platform/vfio_platform_private.h | 21 +++---
> include/linux/vfio.h | 70 ++++++++++-----------
> include/linux/vfio_pci_core.h | 65 ++++++++++----------
> 7 files changed, 91 insertions(+), 95 deletions(-)
>
> diff --git a/Documentation/driver-api/vfio-mediated-device.rst b/Documentation/driver-api/vfio-mediated-device.rst
> index eded8719180f..1c57815619fd 100644
> --- a/Documentation/driver-api/vfio-mediated-device.rst
> +++ b/Documentation/driver-api/vfio-mediated-device.rst
> @@ -114,11 +114,11 @@ to register and unregister itself with the core driver:
>
> * Register::
>
> - extern int mdev_register_driver(struct mdev_driver *drv);
> + int mdev_register_driver(struct mdev_driver *drv);
>
> * Unregister::
>
> - extern void mdev_unregister_driver(struct mdev_driver *drv);
> + void mdev_unregister_driver(struct mdev_driver *drv);
>
> The mediated bus driver's probe function should create a vfio_device on top of
> the mdev_device and connect it to an appropriate implementation of
> @@ -127,8 +127,8 @@ vfio_device_ops.
> When a driver wants to add the GUID creation sysfs to an existing device it has
> probe'd to then it should call::
>
> - extern int mdev_register_device(struct device *dev,
> - struct mdev_driver *mdev_driver);
> + int mdev_register_device(struct device *dev,
> + struct mdev_driver *mdev_driver);
>
> This will provide the 'mdev_supported_types/XX/create' files which can then be
> used to trigger the creation of a mdev_device. The created mdev_device will be
> @@ -136,7 +136,7 @@ attached to the specified driver.
>
> When the driver needs to remove itself it calls::
>
> - extern void mdev_unregister_device(struct device *dev);
> + void mdev_unregister_device(struct device *dev);
>
> Which will unbind and destroy all the created mdevs and remove the sysfs files.
>
> diff --git a/drivers/s390/cio/vfio_ccw_cp.h b/drivers/s390/cio/vfio_ccw_cp.h
> index e4c436199b4c..3194d887e08e 100644
> --- a/drivers/s390/cio/vfio_ccw_cp.h
> +++ b/drivers/s390/cio/vfio_ccw_cp.h
> @@ -41,11 +41,11 @@ struct channel_program {
> struct ccw1 *guest_cp;
> };
>
> -extern int cp_init(struct channel_program *cp, union orb *orb);
> -extern void cp_free(struct channel_program *cp);
> -extern int cp_prefetch(struct channel_program *cp);
> -extern union orb *cp_get_orb(struct channel_program *cp, u32 intparm, u8 lpm);
> -extern void cp_update_scsw(struct channel_program *cp, union scsw *scsw);
> -extern bool cp_iova_pinned(struct channel_program *cp, u64 iova);
> +int cp_init(struct channel_program *cp, union orb *orb);
> +void cp_free(struct channel_program *cp);
> +int cp_prefetch(struct channel_program *cp);
> +union orb *cp_get_orb(struct channel_program *cp, u32 intparm, u8 lpm);
> +void cp_update_scsw(struct channel_program *cp, union scsw *scsw);
> +bool cp_iova_pinned(struct channel_program *cp, u64 iova);
>
> #endif
> diff --git a/drivers/s390/cio/vfio_ccw_private.h b/drivers/s390/cio/vfio_ccw_private.h
> index 7272eb788612..b7163bac8cc7 100644
> --- a/drivers/s390/cio/vfio_ccw_private.h
> +++ b/drivers/s390/cio/vfio_ccw_private.h
> @@ -119,10 +119,10 @@ struct vfio_ccw_private {
> struct work_struct crw_work;
> } __aligned(8);
>
> -extern int vfio_ccw_mdev_reg(struct subchannel *sch);
> -extern void vfio_ccw_mdev_unreg(struct subchannel *sch);
> +int vfio_ccw_mdev_reg(struct subchannel *sch);
> +void vfio_ccw_mdev_unreg(struct subchannel *sch);
>
> -extern int vfio_ccw_sch_quiesce(struct subchannel *sch);
> +int vfio_ccw_sch_quiesce(struct subchannel *sch);
>
> extern struct mdev_driver vfio_ccw_mdev_driver;
>
> diff --git a/drivers/vfio/fsl-mc/vfio_fsl_mc_private.h b/drivers/vfio/fsl-mc/vfio_fsl_mc_private.h
> index 4ad63ececb91..7a29f572f93d 100644
> --- a/drivers/vfio/fsl-mc/vfio_fsl_mc_private.h
> +++ b/drivers/vfio/fsl-mc/vfio_fsl_mc_private.h
> @@ -39,7 +39,7 @@ struct vfio_fsl_mc_device {
> struct vfio_fsl_mc_irq *mc_irqs;
> };
>
> -extern int vfio_fsl_mc_set_irqs_ioctl(struct vfio_fsl_mc_device *vdev,
> +int vfio_fsl_mc_set_irqs_ioctl(struct vfio_fsl_mc_device *vdev,
> u32 flags, unsigned int index,
> unsigned int start, unsigned int count,
> void *data);
> diff --git a/drivers/vfio/platform/vfio_platform_private.h b/drivers/vfio/platform/vfio_platform_private.h
> index 520d2a8e8375..691b43f4b2b2 100644
> --- a/drivers/vfio/platform/vfio_platform_private.h
> +++ b/drivers/vfio/platform/vfio_platform_private.h
> @@ -78,21 +78,20 @@ struct vfio_platform_reset_node {
> vfio_platform_reset_fn_t of_reset;
> };
>
> -extern int vfio_platform_probe_common(struct vfio_platform_device *vdev,
> - struct device *dev);
> +int vfio_platform_probe_common(struct vfio_platform_device *vdev,
> + struct device *dev);
> void vfio_platform_remove_common(struct vfio_platform_device *vdev);
>
> -extern int vfio_platform_irq_init(struct vfio_platform_device *vdev);
> -extern void vfio_platform_irq_cleanup(struct vfio_platform_device *vdev);
> +int vfio_platform_irq_init(struct vfio_platform_device *vdev);
> +void vfio_platform_irq_cleanup(struct vfio_platform_device *vdev);
>
> -extern int vfio_platform_set_irqs_ioctl(struct vfio_platform_device *vdev,
> - uint32_t flags, unsigned index,
> - unsigned start, unsigned count,
> - void *data);
> +int vfio_platform_set_irqs_ioctl(struct vfio_platform_device *vdev,
> + uint32_t flags, unsigned index,
> + unsigned start, unsigned count, void *data);
>
> -extern void __vfio_platform_register_reset(struct vfio_platform_reset_node *n);
> -extern void vfio_platform_unregister_reset(const char *compat,
> - vfio_platform_reset_fn_t fn);
> +void __vfio_platform_register_reset(struct vfio_platform_reset_node *n);
> +void vfio_platform_unregister_reset(const char *compat,
> + vfio_platform_reset_fn_t fn);
> #define vfio_platform_register_reset(__compat, __reset) \
> static struct vfio_platform_reset_node __reset ## _node = { \
> .owner = THIS_MODULE, \
> diff --git a/include/linux/vfio.h b/include/linux/vfio.h
> index aa888cc51757..49580fa2073a 100644
> --- a/include/linux/vfio.h
> +++ b/include/linux/vfio.h
> @@ -140,19 +140,19 @@ int vfio_mig_get_next_state(struct vfio_device *device,
> /*
> * External user API
> */
> -extern struct iommu_group *vfio_file_iommu_group(struct file *file);
> -extern bool vfio_file_enforced_coherent(struct file *file);
> -extern void vfio_file_set_kvm(struct file *file, struct kvm *kvm);
> -extern bool vfio_file_has_dev(struct file *file, struct vfio_device *device);
> +struct iommu_group *vfio_file_iommu_group(struct file *file);
> +bool vfio_file_enforced_coherent(struct file *file);
> +void vfio_file_set_kvm(struct file *file, struct kvm *kvm);
> +bool vfio_file_has_dev(struct file *file, struct vfio_device *device);
>
> #define VFIO_PIN_PAGES_MAX_ENTRIES (PAGE_SIZE/sizeof(unsigned long))
>
> -extern int vfio_pin_pages(struct vfio_device *device, unsigned long *user_pfn,
> - int npage, int prot, unsigned long *phys_pfn);
> -extern int vfio_unpin_pages(struct vfio_device *device, unsigned long *user_pfn,
> - int npage);
> -extern int vfio_dma_rw(struct vfio_device *device, dma_addr_t user_iova,
> - void *data, size_t len, bool write);
> +int vfio_pin_pages(struct vfio_device *device, unsigned long *user_pfn,
> + int npage, int prot, unsigned long *phys_pfn);
> +int vfio_unpin_pages(struct vfio_device *device, unsigned long *user_pfn,
> + int npage);
> +int vfio_dma_rw(struct vfio_device *device, dma_addr_t user_iova,
> + void *data, size_t len, bool write);
>
> /* each type has independent events */
> enum vfio_notify_type {
> @@ -162,13 +162,13 @@ enum vfio_notify_type {
> /* events for VFIO_IOMMU_NOTIFY */
> #define VFIO_IOMMU_NOTIFY_DMA_UNMAP BIT(0)
>
> -extern int vfio_register_notifier(struct vfio_device *device,
> - enum vfio_notify_type type,
> - unsigned long *required_events,
> - struct notifier_block *nb);
> -extern int vfio_unregister_notifier(struct vfio_device *device,
> - enum vfio_notify_type type,
> - struct notifier_block *nb);
> +int vfio_register_notifier(struct vfio_device *device,
> + enum vfio_notify_type type,
> + unsigned long *required_events,
> + struct notifier_block *nb);
> +int vfio_unregister_notifier(struct vfio_device *device,
> + enum vfio_notify_type type,
> + struct notifier_block *nb);
>
>
> /*
> @@ -178,25 +178,24 @@ struct vfio_info_cap {
> struct vfio_info_cap_header *buf;
> size_t size;
> };
> -extern struct vfio_info_cap_header *vfio_info_cap_add(
> - struct vfio_info_cap *caps, size_t size, u16 id, u16 version);
> -extern void vfio_info_cap_shift(struct vfio_info_cap *caps, size_t offset);
> +struct vfio_info_cap_header *vfio_info_cap_add(struct vfio_info_cap *caps,
> + size_t size, u16 id,
> + u16 version);
> +void vfio_info_cap_shift(struct vfio_info_cap *caps, size_t offset);
>
> -extern int vfio_info_add_capability(struct vfio_info_cap *caps,
> - struct vfio_info_cap_header *cap,
> - size_t size);
> +int vfio_info_add_capability(struct vfio_info_cap *caps,
> + struct vfio_info_cap_header *cap, size_t size);
>
> -extern int vfio_set_irqs_validate_and_prepare(struct vfio_irq_set *hdr,
> - int num_irqs, int max_irq_type,
> - size_t *data_size);
> +int vfio_set_irqs_validate_and_prepare(struct vfio_irq_set *hdr,
> + int num_irqs, int max_irq_type,
> + size_t *data_size);
>
> struct pci_dev;
> #if IS_ENABLED(CONFIG_VFIO_SPAPR_EEH)
> -extern void vfio_spapr_pci_eeh_open(struct pci_dev *pdev);
> -extern void vfio_spapr_pci_eeh_release(struct pci_dev *pdev);
> -extern long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group,
> - unsigned int cmd,
> - unsigned long arg);
> +void vfio_spapr_pci_eeh_open(struct pci_dev *pdev);
> +void vfio_spapr_pci_eeh_release(struct pci_dev *pdev);
> +long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group, unsigned int cmd,
> + unsigned long arg);
> #else
> static inline void vfio_spapr_pci_eeh_open(struct pci_dev *pdev)
> {
> @@ -230,10 +229,9 @@ struct virqfd {
> struct virqfd **pvirqfd;
> };
>
> -extern int vfio_virqfd_enable(void *opaque,
> - int (*handler)(void *, void *),
> - void (*thread)(void *, void *),
> - void *data, struct virqfd **pvirqfd, int fd);
> -extern void vfio_virqfd_disable(struct virqfd **pvirqfd);
> +int vfio_virqfd_enable(void *opaque, int (*handler)(void *, void *),
> + void (*thread)(void *, void *), void *data,
> + struct virqfd **pvirqfd, int fd);
> +void vfio_virqfd_disable(struct virqfd **pvirqfd);
>
> #endif /* VFIO_H */
> diff --git a/include/linux/vfio_pci_core.h b/include/linux/vfio_pci_core.h
> index 23c176d4b073..22de2bce6394 100644
> --- a/include/linux/vfio_pci_core.h
> +++ b/include/linux/vfio_pci_core.h
> @@ -147,23 +147,23 @@ struct vfio_pci_core_device {
> #define is_irq_none(vdev) (!(is_intx(vdev) || is_msi(vdev) || is_msix(vdev)))
> #define irq_is(vdev, type) (vdev->irq_type == type)
>
> -extern void vfio_pci_intx_mask(struct vfio_pci_core_device *vdev);
> -extern void vfio_pci_intx_unmask(struct vfio_pci_core_device *vdev);
> +void vfio_pci_intx_mask(struct vfio_pci_core_device *vdev);
> +void vfio_pci_intx_unmask(struct vfio_pci_core_device *vdev);
>
> -extern int vfio_pci_set_irqs_ioctl(struct vfio_pci_core_device *vdev,
> - uint32_t flags, unsigned index,
> - unsigned start, unsigned count, void *data);
> +int vfio_pci_set_irqs_ioctl(struct vfio_pci_core_device *vdev,
> + uint32_t flags, unsigned index,
> + unsigned start, unsigned count, void *data);
>
> -extern ssize_t vfio_pci_config_rw(struct vfio_pci_core_device *vdev,
> - char __user *buf, size_t count,
> - loff_t *ppos, bool iswrite);
> +ssize_t vfio_pci_config_rw(struct vfio_pci_core_device *vdev,
> + char __user *buf, size_t count,
> + loff_t *ppos, bool iswrite);
>
> -extern ssize_t vfio_pci_bar_rw(struct vfio_pci_core_device *vdev, char __user *buf,
> - size_t count, loff_t *ppos, bool iswrite);
> +ssize_t vfio_pci_bar_rw(struct vfio_pci_core_device *vdev, char __user *buf,
> + size_t count, loff_t *ppos, bool iswrite);
>
> #ifdef CONFIG_VFIO_PCI_VGA
> -extern ssize_t vfio_pci_vga_rw(struct vfio_pci_core_device *vdev, char __user *buf,
> - size_t count, loff_t *ppos, bool iswrite);
> +ssize_t vfio_pci_vga_rw(struct vfio_pci_core_device *vdev, char __user *buf,
> + size_t count, loff_t *ppos, bool iswrite);
> #else
> static inline ssize_t vfio_pci_vga_rw(struct vfio_pci_core_device *vdev,
> char __user *buf, size_t count,
> @@ -173,32 +173,31 @@ static inline ssize_t vfio_pci_vga_rw(struct vfio_pci_core_device *vdev,
> }
> #endif
>
> -extern long vfio_pci_ioeventfd(struct vfio_pci_core_device *vdev, loff_t offset,
> - uint64_t data, int count, int fd);
> +long vfio_pci_ioeventfd(struct vfio_pci_core_device *vdev, loff_t offset,
> + uint64_t data, int count, int fd);
>
> -extern int vfio_pci_init_perm_bits(void);
> -extern void vfio_pci_uninit_perm_bits(void);
> +int vfio_pci_init_perm_bits(void);
> +void vfio_pci_uninit_perm_bits(void);
>
> -extern int vfio_config_init(struct vfio_pci_core_device *vdev);
> -extern void vfio_config_free(struct vfio_pci_core_device *vdev);
> +int vfio_config_init(struct vfio_pci_core_device *vdev);
> +void vfio_config_free(struct vfio_pci_core_device *vdev);
>
> -extern int vfio_pci_register_dev_region(struct vfio_pci_core_device *vdev,
> - unsigned int type, unsigned int subtype,
> - const struct vfio_pci_regops *ops,
> - size_t size, u32 flags, void *data);
> +int vfio_pci_register_dev_region(struct vfio_pci_core_device *vdev,
> + unsigned int type, unsigned int subtype,
> + const struct vfio_pci_regops *ops,
> + size_t size, u32 flags, void *data);
>
> -extern int vfio_pci_set_power_state(struct vfio_pci_core_device *vdev,
> - pci_power_t state);
> +int vfio_pci_set_power_state(struct vfio_pci_core_device *vdev,
> + pci_power_t state);
>
> -extern bool __vfio_pci_memory_enabled(struct vfio_pci_core_device *vdev);
> -extern void vfio_pci_zap_and_down_write_memory_lock(struct vfio_pci_core_device
> - *vdev);
> -extern u16 vfio_pci_memory_lock_and_enable(struct vfio_pci_core_device *vdev);
> -extern void vfio_pci_memory_unlock_and_restore(struct vfio_pci_core_device *vdev,
> - u16 cmd);
> +bool __vfio_pci_memory_enabled(struct vfio_pci_core_device *vdev);
> +void vfio_pci_zap_and_down_write_memory_lock(struct vfio_pci_core_device *vdev);
> +u16 vfio_pci_memory_lock_and_enable(struct vfio_pci_core_device *vdev);
> +void vfio_pci_memory_unlock_and_restore(struct vfio_pci_core_device *vdev,
> + u16 cmd);
>
> #ifdef CONFIG_VFIO_PCI_IGD
> -extern int vfio_pci_igd_init(struct vfio_pci_core_device *vdev);
> +int vfio_pci_igd_init(struct vfio_pci_core_device *vdev);
> #else
> static inline int vfio_pci_igd_init(struct vfio_pci_core_device *vdev)
> {
> @@ -207,8 +206,8 @@ static inline int vfio_pci_igd_init(struct vfio_pci_core_device *vdev)
> #endif
>
> #ifdef CONFIG_S390
> -extern int vfio_pci_info_zdev_add_caps(struct vfio_pci_core_device *vdev,
> - struct vfio_info_cap *caps);
> +int vfio_pci_info_zdev_add_caps(struct vfio_pci_core_device *vdev,
> + struct vfio_info_cap *caps);
> #else
> static inline int vfio_pci_info_zdev_add_caps(struct vfio_pci_core_device *vdev,
> struct vfio_info_cap *caps)
>
>
Powered by blists - more mailing lists