drivers/i2c: Pass in i2c_generic_config into i2c_generic_fill_ssdt
Remove any assumptions required for the drivers using i2c_generic to have drivers_i2c_generic_config structure at the start of the driver config. Instead pass in a pointer to drivers_i2c_generic_config from the calling driver. Change-Id: I51dc4cad1c1f246b51891abf7115a7120e87b098 Signed-off-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: https://review.coreboot.org/17857 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins)
This commit is contained in:
parent
e34c16f915
commit
fdc1b2e6b4
|
@ -30,7 +30,8 @@ static void i2c_alps_fill_dsm(struct device *dev)
|
||||||
|
|
||||||
static void i2c_alps_fill_ssdt_generator(struct device *dev)
|
static void i2c_alps_fill_ssdt_generator(struct device *dev)
|
||||||
{
|
{
|
||||||
i2c_generic_fill_ssdt(dev, &i2c_alps_fill_dsm);
|
struct drivers_i2c_alps_config *config = dev->chip_info;
|
||||||
|
i2c_generic_fill_ssdt(dev, &i2c_alps_fill_dsm, &config->generic);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *i2c_alps_acpi_name(struct device *dev)
|
static const char *i2c_alps_acpi_name(struct device *dev)
|
||||||
|
|
|
@ -57,11 +57,13 @@ struct drivers_i2c_generic_config {
|
||||||
* properties. Callback can be provided to fill in any
|
* properties. Callback can be provided to fill in any
|
||||||
* device-specific information in SSDT.
|
* device-specific information in SSDT.
|
||||||
*
|
*
|
||||||
* Drivers calling into this function to generate should place
|
* Parameters:
|
||||||
* drivers_i2c_generic_config structure at the beginning of their device config
|
* dev: Device requesting i2c generic information to be filled
|
||||||
* structure.
|
* callback: Callback to fill in device-specific information
|
||||||
|
* config: Pointer to drivers_i2c_generic_config structure
|
||||||
*/
|
*/
|
||||||
void i2c_generic_fill_ssdt(struct device *dev,
|
void i2c_generic_fill_ssdt(struct device *dev,
|
||||||
void (*callback)(struct device *dev));
|
void (*callback)(struct device *dev),
|
||||||
|
struct drivers_i2c_generic_config *config);
|
||||||
|
|
||||||
#endif /* __I2C_GENERIC_CHIP_H__ */
|
#endif /* __I2C_GENERIC_CHIP_H__ */
|
||||||
|
|
|
@ -66,9 +66,9 @@ static void i2c_generic_add_power_res(struct drivers_i2c_generic_config *config)
|
||||||
}
|
}
|
||||||
|
|
||||||
void i2c_generic_fill_ssdt(struct device *dev,
|
void i2c_generic_fill_ssdt(struct device *dev,
|
||||||
void (*callback)(struct device *dev))
|
void (*callback)(struct device *dev),
|
||||||
|
struct drivers_i2c_generic_config *config)
|
||||||
{
|
{
|
||||||
struct drivers_i2c_generic_config *config = dev->chip_info;
|
|
||||||
const char *scope = acpi_device_scope(dev);
|
const char *scope = acpi_device_scope(dev);
|
||||||
struct acpi_i2c i2c = {
|
struct acpi_i2c i2c = {
|
||||||
.address = dev->path.i2c.device,
|
.address = dev->path.i2c.device,
|
||||||
|
@ -131,7 +131,7 @@ void i2c_generic_fill_ssdt(struct device *dev,
|
||||||
|
|
||||||
static void i2c_generic_fill_ssdt_generator(struct device *dev)
|
static void i2c_generic_fill_ssdt_generator(struct device *dev)
|
||||||
{
|
{
|
||||||
i2c_generic_fill_ssdt(dev, NULL);
|
i2c_generic_fill_ssdt(dev, NULL, dev->chip_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Use name specified in config or build one from I2C address */
|
/* Use name specified in config or build one from I2C address */
|
||||||
|
|
|
@ -30,7 +30,8 @@ static void i2c_wacom_fill_dsm(struct device *dev)
|
||||||
|
|
||||||
static void i2c_wacom_fill_ssdt_generator(struct device *dev)
|
static void i2c_wacom_fill_ssdt_generator(struct device *dev)
|
||||||
{
|
{
|
||||||
i2c_generic_fill_ssdt(dev, &i2c_wacom_fill_dsm);
|
struct drivers_i2c_wacom_config *config = dev->chip_info;
|
||||||
|
i2c_generic_fill_ssdt(dev, &i2c_wacom_fill_dsm, &config->generic);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *i2c_wacom_acpi_name(struct device *dev)
|
static const char *i2c_wacom_acpi_name(struct device *dev)
|
||||||
|
|
Loading…
Reference in New Issue