mfd: rockchip-flexbus: Add set_fb0/1 function

Set fb0/1 data and isr in the function.

Change-Id: Ib7265fb5e3b75b9b92267035e331d94c54873065
Signed-off-by: Wesley Yao <wesley.yao@rock-chips.com>
This commit is contained in:
Wesley Yao
2024-07-31 17:58:52 +08:00
committed by Tao Huang
parent 1cfd120ea4
commit 8982f99b24
5 changed files with 18 additions and 8 deletions

View File

@@ -340,8 +340,7 @@ static int rockchip_flexbus_adc_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, rkfb_adc);
rkfb_adc->dev = &pdev->dev;
rkfb_adc->rkfb = rkfb;
rkfb->fb1_data = rkfb_adc;
rkfb->fb1_isr = rockchip_flexbus_adc_isr;
rockchip_flexbus_set_fb1(rkfb, rkfb_adc, rockchip_flexbus_adc_isr);
ret = rockchip_flexbus_adc_parse_dt(rkfb_adc);
if (ret != 0)

View File

@@ -358,8 +358,7 @@ static int rockchip_flexbus_dac_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, rkfb_dac);
rkfb_dac->dev = &pdev->dev;
rkfb_dac->rkfb = rkfb;
rkfb->fb0_data = rkfb_dac;
rkfb->fb0_isr = rockchip_flexbus_dac_isr;
rockchip_flexbus_set_fb0(rkfb, rkfb_dac, rockchip_flexbus_dac_isr);
ret = rockchip_flexbus_dac_parse_dt(rkfb_dac);
if (ret != 0)

View File

@@ -568,8 +568,7 @@ static int flexbus_cif_plat_probe(struct platform_device *pdev)
return ret;
cif_dev->fb_dev = rkfb;
rkfb->fb1_data = cif_dev;
rkfb->fb1_isr = flexbus_cif_irq_handler;
rockchip_flexbus_set_fb1(rkfb, cif_dev, flexbus_cif_irq_handler);
if (flexbus_cif_proc_init(cif_dev))
dev_warn(dev, "dev:%s create proc failed\n", dev_name(dev));

View File

@@ -695,8 +695,7 @@ static int rk_flexbus_fspi_probe(struct platform_device *pdev)
fspi->master = master;
fspi->fb = flexbus_dev;
flexbus_dev->fb0_data = fspi;
flexbus_dev->fb0_isr = rk_flexbus_fspi_irq_handler;
rockchip_flexbus_set_fb0(flexbus_dev, fspi, rk_flexbus_fspi_irq_handler);
if (has_acpi_companion(&pdev->dev)) {
ret = device_property_read_u32(&pdev->dev, "clock-frequency", &val);

View File

@@ -147,6 +147,20 @@ struct rockchip_flexbus {
const struct rockchip_flexbus_config *config;
};
static inline void rockchip_flexbus_set_fb0(struct rockchip_flexbus *rkfb, void *fb0_data,
void (*fb0_isr)(struct rockchip_flexbus *rkfb, u32 isr))
{
rkfb->fb0_data = fb0_data;
rkfb->fb0_isr = fb0_isr;
}
static inline void rockchip_flexbus_set_fb1(struct rockchip_flexbus *rkfb, void *fb1_data,
void (*fb1_isr)(struct rockchip_flexbus *rkfb, u32 isr))
{
rkfb->fb1_data = fb1_data;
rkfb->fb1_isr = fb1_isr;
}
unsigned int rockchip_flexbus_readl(struct rockchip_flexbus *rkfb, unsigned int reg);
void rockchip_flexbus_writel(struct rockchip_flexbus *rkfb, unsigned int reg, unsigned int val);
void rockchip_flexbus_clrbits(struct rockchip_flexbus *rkfb, unsigned int reg,