0001
0002
0003
0004 #ifndef __SDW_INTEL_LOCAL_H
0005 #define __SDW_INTEL_LOCAL_H
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 struct sdw_intel_link_res {
0025 void __iomem *mmio_base;
0026 void __iomem *registers;
0027 void __iomem *shim;
0028 void __iomem *alh;
0029 int irq;
0030 const struct sdw_intel_ops *ops;
0031 struct device *dev;
0032 struct mutex *shim_lock;
0033 u32 *shim_mask;
0034 u32 clock_stop_quirks;
0035 u32 link_mask;
0036 struct sdw_cdns *cdns;
0037 struct list_head list;
0038 };
0039
0040 struct sdw_intel {
0041 struct sdw_cdns cdns;
0042 int instance;
0043 struct sdw_intel_link_res *link_res;
0044 bool startup_done;
0045 #ifdef CONFIG_DEBUG_FS
0046 struct dentry *debugfs;
0047 #endif
0048 };
0049
0050 int intel_link_startup(struct auxiliary_device *auxdev);
0051 int intel_link_process_wakeen_event(struct auxiliary_device *auxdev);
0052
0053 struct sdw_intel_link_dev {
0054 struct auxiliary_device auxdev;
0055 struct sdw_intel_link_res link_res;
0056 };
0057
0058 #define auxiliary_dev_to_sdw_intel_link_dev(auxiliary_dev) \
0059 container_of(auxiliary_dev, struct sdw_intel_link_dev, auxdev)
0060
0061 #endif