aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c/busses/i2c-nvidia-gpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/i2c/busses/i2c-nvidia-gpu.c')
-rw-r--r--drivers/i2c/busses/i2c-nvidia-gpu.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-nvidia-gpu.c b/drivers/i2c/busses/i2c-nvidia-gpu.c
index 4e67d5ed480e..1c8f708f212b 100644
--- a/drivers/i2c/busses/i2c-nvidia-gpu.c
+++ b/drivers/i2c/busses/i2c-nvidia-gpu.c
@@ -253,6 +253,12 @@ static const struct pci_device_id gpu_i2c_ids[] = {
253}; 253};
254MODULE_DEVICE_TABLE(pci, gpu_i2c_ids); 254MODULE_DEVICE_TABLE(pci, gpu_i2c_ids);
255 255
256static const struct property_entry ccgx_props[] = {
257 /* Use FW built for NVIDIA (nv) only */
258 PROPERTY_ENTRY_U16("ccgx,firmware-build", ('n' << 8) | 'v'),
259 { }
260};
261
256static int gpu_populate_client(struct gpu_i2c_dev *i2cd, int irq) 262static int gpu_populate_client(struct gpu_i2c_dev *i2cd, int irq)
257{ 263{
258 struct i2c_client *ccgx_client; 264 struct i2c_client *ccgx_client;
@@ -267,6 +273,7 @@ static int gpu_populate_client(struct gpu_i2c_dev *i2cd, int irq)
267 sizeof(i2cd->gpu_ccgx_ucsi->type)); 273 sizeof(i2cd->gpu_ccgx_ucsi->type));
268 i2cd->gpu_ccgx_ucsi->addr = 0x8; 274 i2cd->gpu_ccgx_ucsi->addr = 0x8;
269 i2cd->gpu_ccgx_ucsi->irq = irq; 275 i2cd->gpu_ccgx_ucsi->irq = irq;
276 i2cd->gpu_ccgx_ucsi->properties = ccgx_props;
270 ccgx_client = i2c_new_device(&i2cd->adapter, i2cd->gpu_ccgx_ucsi); 277 ccgx_client = i2c_new_device(&i2cd->adapter, i2cd->gpu_ccgx_ucsi);
271 if (!ccgx_client) 278 if (!ccgx_client)
272 return -ENODEV; 279 return -ENODEV;