return ops->set_spi_protect(dev, protect);
}
+int pch_get_gpio_base(struct udevice *dev, u32 *gbasep)
+{
+ struct pch_ops *ops = pch_get_ops(dev);
+
+ *gbasep = 0;
+ if (!ops->get_gpio_base)
+ return -ENOSYS;
+
+ return ops->get_gpio_base(dev, gbasep);
+}
+
static int pch_uclass_post_bind(struct udevice *bus)
{
/*
* @return 0 on success, -ENOSYS if not implemented
*/
int (*set_spi_protect)(struct udevice *dev, bool protect);
+
+ /**
+ * get_gpio_base() - get the address of GPIO base
+ *
+ * @dev: PCH device to check
+ * @gbasep: Returns address of GPIO base if available, else 0
+ * @return 0 if OK, -ve on error (e.g. there is no GPIO base)
+ */
+ int (*get_gpio_base)(struct udevice *dev, u32 *gbasep);
};
#define pch_get_ops(dev) ((struct pch_ops *)(dev)->driver->ops)
*/
int pch_set_spi_protect(struct udevice *dev, bool protect);
+/**
+ * pch_get_gpio_base() - get the address of GPIO base
+ *
+ * @dev: PCH device to check
+ * @gbasep: Returns address of GPIO base if available, else 0
+ * @return 0 if OK, -ve on error (e.g. there is no GPIO base)
+ */
+int pch_get_gpio_base(struct udevice *dev, u32 *gbasep);
+
#endif