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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.