diff --git a/xrp-kernel/xrp_hw.h b/xrp-kernel/xrp_hw.h index aa64ee4..bce8766 100644 --- a/xrp-kernel/xrp_hw.h +++ b/xrp-kernel/xrp_hw.h @@ -279,6 +279,20 @@ enum xrp_init_flags { long xrp_init(struct platform_device *pdev, enum xrp_init_flags flags, const struct xrp_hw_ops *hw, void *hw_arg); +/*! + * Initialize generic XRP kernel driver from cdns,xrp-compatible device + * tree node. Set default address mapping. + * + * \param pdev: pointer to platform device associated with the XRP device + * instance + * \param flags: initialization flags + * \param hw: pointer to xrp_hw_ops structeure for this device + * \param hw_arg: opaque pointer passed back to hw-specific functions + * \return error code or pointer to struct xvp, use IS_ERR_VALUE and ERR_PTR + */ +long xrp_acpi_init_v0(struct platform_device *pdev, enum xrp_init_flags flags, + const struct xrp_hw_ops *hw, void *hw_arg); + /*! * Initialize generic XRP kernel driver from cdns,xrp,v1-compatible device * tree node. diff --git a/xrp-kernel/xvp_main.c b/xrp-kernel/xvp_main.c index db2bd6c..80db9e6 100644 --- a/xrp-kernel/xvp_main.c +++ b/xrp-kernel/xvp_main.c @@ -2437,10 +2437,10 @@ MODULE_DEVICE_TABLE(of, xrp_of_match); #endif #ifdef CONFIG_ACPI -static xrp_init_function xrp_acpi_init_v0; -static long xrp_acpi_init_v0(struct platform_device *pdev, - enum xrp_init_flags flags, - const struct xrp_hw_ops *hw_ops, void *hw_arg) +xrp_init_function xrp_acpi_init_v0; +long xrp_acpi_init_v0(struct platform_device *pdev, + enum xrp_init_flags flags, + const struct xrp_hw_ops *hw_ops, void *hw_arg) { long ret = xrp_init(pdev, flags, hw_ops, hw_arg); @@ -2473,6 +2473,7 @@ static long xrp_acpi_init_v0(struct platform_device *pdev, } return ret; } +EXPORT_SYMBOL(xrp_acpi_init_v0); static xrp_init_function xrp_acpi_init_v1; static long xrp_acpi_init_v1(struct platform_device *pdev,