mmc: core: rewrite mmc_fixup_device()
Currently, mmc_fixup_device() is a bit difficult to read because of particularly long condition. Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/6515c1e8b3aa69ad273726f6e877d85c20f286ad.1636564631.git.hns@goldelico.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
e315b1f3a1
commit
f3abe2e509
|
@ -152,22 +152,29 @@ static inline void mmc_fixup_device(struct mmc_card *card,
|
|||
u64 rev = cid_rev_card(card);
|
||||
|
||||
for (f = table; f->vendor_fixup; f++) {
|
||||
if ((f->manfid == CID_MANFID_ANY ||
|
||||
f->manfid == card->cid.manfid) &&
|
||||
(f->oemid == CID_OEMID_ANY ||
|
||||
f->oemid == card->cid.oemid) &&
|
||||
(f->name == CID_NAME_ANY ||
|
||||
!strncmp(f->name, card->cid.prod_name,
|
||||
sizeof(card->cid.prod_name))) &&
|
||||
(f->cis_vendor == card->cis.vendor ||
|
||||
f->cis_vendor == (u16) SDIO_ANY_ID) &&
|
||||
(f->cis_device == card->cis.device ||
|
||||
f->cis_device == (u16) SDIO_ANY_ID) &&
|
||||
(f->ext_csd_rev == EXT_CSD_REV_ANY ||
|
||||
f->ext_csd_rev == card->ext_csd.rev) &&
|
||||
rev >= f->rev_start && rev <= f->rev_end) {
|
||||
dev_dbg(&card->dev, "calling %ps\n", f->vendor_fixup);
|
||||
f->vendor_fixup(card, f->data);
|
||||
}
|
||||
if (f->manfid != CID_MANFID_ANY &&
|
||||
f->manfid != card->cid.manfid)
|
||||
continue;
|
||||
if (f->oemid != CID_OEMID_ANY &&
|
||||
f->oemid != card->cid.oemid)
|
||||
continue;
|
||||
if (f->name != CID_NAME_ANY &&
|
||||
strncmp(f->name, card->cid.prod_name,
|
||||
sizeof(card->cid.prod_name)))
|
||||
continue;
|
||||
if (f->cis_vendor != (u16)SDIO_ANY_ID &&
|
||||
f->cis_vendor != card->cis.vendor)
|
||||
continue;
|
||||
if (f->cis_device != (u16)SDIO_ANY_ID &&
|
||||
f->cis_device != card->cis.device)
|
||||
continue;
|
||||
if (f->ext_csd_rev != EXT_CSD_REV_ANY &&
|
||||
f->ext_csd_rev != card->ext_csd.rev)
|
||||
continue;
|
||||
if (rev < f->rev_start || rev > f->rev_end)
|
||||
continue;
|
||||
|
||||
dev_dbg(&card->dev, "calling %ps\n", f->vendor_fixup);
|
||||
f->vendor_fixup(card, f->data);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue