On Wed, Mar 22, 2023 at 04:02:26PM -0500, Mario Limonciello wrote: > Mendocino and later platform don't use the platform feature mailbox for > communication for I2C arbitration, they rely upon ringing a doorbell. > > Detect the platform by the device ID of the root port and choose the > appropriate method. ... > - ret = read_poll_timeout(psp_send_i2c_req_cezanne, status, > + ret = read_poll_timeout(_psp_send_i2c_req, status, > (status != -EBUSY), You can place it now in the above line, but up to you. > PSP_I2C_REQ_RETRY_DELAY_US, > PSP_I2C_REQ_RETRY_CNT * PSP_I2C_REQ_RETRY_DELAY_US, ... > + /* Cezanne uses platform mailbox, Mendocino and later use doorbell */ > + rdev = pci_get_domain_bus_and_slot(0, 0, PCI_DEVFN(0, 0)); > + if (rdev->device == 0x1630) > + _psp_send_i2c_req = psp_send_i2c_req_cezanne; > + else > + _psp_send_i2c_req = psp_send_i2c_req_mendocino; Where is pci_dev_put()? -- With Best Regards, Andy Shevchenko