/* SPDX-License-Identifier: GPL-2.0 */ #include <linux/atomic.h> #include <linux/clk.h> #include <linux/delay.h> #include <linux/device.h> #include <linux/i2c.h> #include <linux/i2c-smbus.h> #include <linux/io.h> #include <linux/kernel.h> #include <linux/completion.h> #define PASEMI_HW_REV_PCI -1 struct pasemi_smbus { struct device *dev; struct i2c_adapter adapter; void __iomem *ioaddr; unsigned int clk_div; int hw_rev; int use_irq; struct completion irq_completion; }; int pasemi_i2c_common_probe(struct pasemi_smbus *smbus); irqreturn_t pasemi_irq_handler(int irq, void *dev_id)