[PATCH 2/2 v16] drm/bridge: Add I2C based driver for ps8640 bridge

Daniel Vetter daniel at ffwll.ch
Tue Jul 12 03:13:52 PDT 2016


On Wed, Jun 29, 2016 at 6:31 AM, Daniel Kurtz <djkurtz at chromium.org> wrote:
> On Fri, Jun 17, 2016 at 3:14 AM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>>> +static ssize_t ps8640_update_fw_store(struct device *dev,
>>> +                                     struct device_attribute *attr,
>>> +                                     const char *buf, size_t count)
>>> +{
>>> +       struct i2c_client *client = to_i2c_client(dev);
>>> +       struct ps8640 *ps_bridge = i2c_get_clientdata(client);
>>> +       const struct firmware *fw;
>>> +       int error;
>>> +
>>> +       error = request_firmware(&fw, PS_FW_NAME, dev);
>> Can the device operate without a firmware ? If not, why is the
>> firmware loaded so later/after user interaction (via sysfs) ? I don't
>> recall any other driver in DRM to use such an approach.
>
> The PS8640 has internal flash, so it should always already have a
> working firmware.
> This sysfs interface is useful for user space initiated field firmware updates.

Might be better to just do a request_firmware on driver load, and
simply proceed if it's not there. Adding a sysfs interface (which is
abi) seems way too much overkill for this imo. If you want to upgrade
the firmware you can then just drop it into the right directory, with
no further interaction needed.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the linux-arm-kernel mailing list