From: Jakub Kicinski <kuba@kernel.org>
To: <Ajay.Kathat@microchip.com>
Cc: <linux-wireless@vger.kernel.org>, <Claudiu.Beznea@microchip.com>,
<Sripad.Balwadgi@microchip.com>
Subject: Re: [PATCH] wifi: wilc1000: change firmware path from 'atmel' to 'microchip/wilc'
Date: Wed, 5 Jul 2023 17:27:54 -0700 [thread overview]
Message-ID: <20230705172754.61ca21ae@kernel.org> (raw)
In-Reply-To: <5500a007-4e52-f8dc-2535-3baa7decfe52@microchip.com>
On Thu, 6 Jul 2023 00:12:32 +0000 Ajay.Kathat@microchip.com wrote:
> On 7/5/23 14:03, Jakub Kicinski wrote:
> > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> >
> > On Fri, 30 Jun 2023 01:22:31 +0000 Ajay.Kathat@microchip.com wrote:
> >> To inline the linux-firmware path with driver, the firmware path is changed
> >> from 'atmel' to 'microchip/wilc'. This path change will be submitted to
> >> 'linux-firmware' as well.
> >
> > How are you going to make this backward compatible?
> > Users aren't required to update linux-firmware and kernel at the same
> > time.
>
> Thanks for pointing it out.
>
> I think, the changes are not fully compatible for upgrading the kernel
> and 'linux-firmware' individually. After the driver changes, the
> 'linux-firmware' upgrade is necessary.
>
> The kernel and 'linux-firmware' can be upgraded independently, so two
> combinations are possible for the upgrade.
>
> updated driver : uses modified path(microchip/wilc) to load FW.
> updated 'linux-firmware': FW file is at modified path(microchip/wilc)
>
> 1. updated driver + old 'linux-firmware' : incompatible
Ah, totally missed that combination.
> - The updated driver will look for FW file in '/microchip/wilc' path
> which is not present in older 'linux-firmware'. Though the interface
> format is compatible, the driver will fail to load it because the file
> is not present.
>
>
> 2. old driver + updated 'linux-firmware': compatible
> - A link is created from new path to old FW path so the old driver
> should be able to load from linked path.
>
> In order to address scenario#1, a fallback method that loads the FW from
> the older path(/atmel) can be added in the driver. I think that change
> will make it compatible for scenario#1.
> Please suggest, if there is a generic/recommended approach to handle
> backward compatibility for FW path change.
I'm afraid you need to request from both new and old patch for some
time. Push the change to linux-firmware, but make driver be compatible
with both for maybe three full releases? Then the risk of someone still
having stale linux-firmware goes down quite a bit.
TBH renaming FW paths, much like renaming drivers is usually more risk
than reward.
next prev parent reply other threads:[~2023-07-06 0:28 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-30 1:22 [PATCH] wifi: wilc1000: change firmware path from 'atmel' to 'microchip/wilc' Ajay.Kathat
2023-07-05 21:03 ` Jakub Kicinski
2023-07-05 21:04 ` Jakub Kicinski
2023-07-06 0:12 ` Ajay.Kathat
2023-07-06 0:27 ` Jakub Kicinski [this message]
2023-07-19 10:37 ` Kalle Valo
2023-07-19 16:20 ` Ajay.Kathat
2023-07-20 14:50 ` Kalle Valo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230705172754.61ca21ae@kernel.org \
--to=kuba@kernel.org \
--cc=Ajay.Kathat@microchip.com \
--cc=Claudiu.Beznea@microchip.com \
--cc=Sripad.Balwadgi@microchip.com \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).