> > Subject: Re: [RFC PATCH net-next 9/9] ethtool: Add ability to flash > > transceiver modules' firmware > > > > > +static int > > > +module_flash_fw_schedule(struct net_device *dev, > > > + struct ethtool_module_fw_flash_params *params, > > > + struct netlink_ext_ack *extack) { > > > + const struct ethtool_ops *ops = dev->ethtool_ops; > > > + struct ethtool_module_fw_flash *module_fw; > > > + int err; > > > + > > > + if (!ops->set_module_eeprom_by_page || > > > + !ops->get_module_eeprom_by_page) { > > > + NL_SET_ERR_MSG(extack, > > > + "Flashing module firmware is not supported by > > this device"); > > > + return -EOPNOTSUPP; > > > + } > > > + > > > + if (dev->module_fw_flash_in_progress) { > > > + NL_SET_ERR_MSG(extack, "Module firmware flashing already > > in progress"); > > > + return -EBUSY; > > > + } > > > + > > > + module_fw = kzalloc(sizeof(*module_fw), GFP_KERNEL); > > > + if (!module_fw) > > > + return -ENOMEM; > > > + > > > + module_fw->params = *params; > > > + err = request_firmware(&module_fw->fw, module_fw- > > >params.file_name, > > > + &dev->dev); > > > > How big are these firmware blobs? > > The largest file I came across is 400K. > > Ideally we want to be able to use the same API to upgrade things like > > GPON modules, which often run an openwrt image, and they are plugged > > into a cable modem which does not have too much RAM. > > > > Given that the interface to the EEPROM is using 128 byte 1/2 pages, > > would it be possible to use request_partial_firmware_into_buf() to > > read it on demand, rather than all at once? > > > > Andrew > > OK, Ill handle that in the actual version. > Thanks.