From: "Pali Rohár" <pali@kernel.org>
To: Ulf Hansson <ulf.hansson@linaro.org>
Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 0/4] mmc: sdio: Export CISTPL_VERS_1 attributes to userspace
Date: Mon, 27 Jul 2020 15:38:33 +0200 [thread overview]
Message-ID: <20200727133837.19086-1-pali@kernel.org> (raw)
CISTPL_VERS_1 structure contains useful information for identification
of SDIO cards. It contains revision number according to which standard
is SDIO card compliant. And also it contain human readable info strings
which should contain manufacturer name or product information, like for
old PCMCIA cards. SDIO simplified specification 3.00 just contain
reference to PCMCIA metaformat specification for definition of that
CISTPL_VERS_1 structure itself.
Human readable SDIO card strings can be useful for userspace to do card
identification. Until now kernel exported to userspace only vendor and
device numbers but these numbers do not help to identify new or unknown
cards.
I have tested these patches with Marwell 88W8997 SDIO card (WiFi+Bluetooth)
and here is content of attributes available in userspace:
$ grep . /sys/class/mmc_host/mmc0/mmc0:0001/* /sys/class/mmc_host/mmc0/mmc0:0001/*/*
/sys/class/mmc_host/mmc0/mmc0:0001/device:0x9140
/sys/class/mmc_host/mmc0/mmc0:0001/info1:Marvell
/sys/class/mmc_host/mmc0/mmc0:0001/info2:Wireless Device ID: 50
/sys/class/mmc_host/mmc0/mmc0:0001/ocr:0x00200000
/sys/class/mmc_host/mmc0/mmc0:0001/rca:0x0001
/sys/class/mmc_host/mmc0/mmc0:0001/revision:1.0
/sys/class/mmc_host/mmc0/mmc0:0001/type:SDIO
/sys/class/mmc_host/mmc0/mmc0:0001/uevent:MMC_TYPE=SDIO
/sys/class/mmc_host/mmc0/mmc0:0001/uevent:SDIO_ID=02DF:9140
/sys/class/mmc_host/mmc0/mmc0:0001/uevent:SDIO_REVISION=1.0
/sys/class/mmc_host/mmc0/mmc0:0001/uevent:SDIO_INFO1=Marvell
/sys/class/mmc_host/mmc0/mmc0:0001/uevent:SDIO_INFO2=Wireless Device ID: 50
/sys/class/mmc_host/mmc0/mmc0:0001/uevent:SDIO_INFO3=
/sys/class/mmc_host/mmc0/mmc0:0001/vendor:0x02df
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/class:0x00
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/device:0x9141
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/info1:Marvell WiFi Device
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/modalias:sdio:c00v02DFd9141
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/revision:1.0
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:DRIVER=mwifiex_sdio
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:SDIO_CLASS=00
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:SDIO_ID=02DF:9141
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:SDIO_REVISION=1.0
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:SDIO_INFO1=Marvell WiFi Device
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:SDIO_INFO2=
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/uevent:MODALIAS=sdio:c00v02DFd9141
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/vendor:0x02df
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/class:0x00
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/device:0x9142
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/info1:Marvell Bluetooth Device
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/modalias:sdio:c00v02DFd9142
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/revision:1.0
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/uevent:DRIVER=btmrvl_sdio
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/uevent:SDIO_CLASS=00
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/uevent:SDIO_ID=02DF:9142
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/uevent:SDIO_REVISION=1.0
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/uevent:SDIO_INFO1=Marvell Bluetooth Device
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/uevent:SDIO_INFO2=
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/uevent:MODALIAS=sdio:c00v02DFd9142
/sys/class/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/vendor:0x02df
/sys/class/mmc_host/mmc0/mmc0:0001/power/control:auto
/sys/class/mmc_host/mmc0/mmc0:0001/power/runtime_active_time:0
/sys/class/mmc_host/mmc0/mmc0:0001/power/runtime_status:unsupported
/sys/class/mmc_host/mmc0/mmc0:0001/power/runtime_suspended_time:0
/sys/class/mmc_host/mmc0/mmc0:0001/subsystem/drivers_autoprobe:1
As can be seen SDIO card does not provide all 4 info strings as required by
SDIO/PCMCIA specificaion and the third and the second strings are empty.
Pali Rohár (4):
mmc: sdio: Check for CISTPL_VERS_1 buffer size
mmc: sdio: Parse CISTPL_VERS_1 major and minor revision numbers
mmc: sdio: Extend sdio_config_attr macro and use it also for modalias
mmc: sdio: Export SDIO revision and info strings to userspace
drivers/mmc/core/bus.c | 12 ++++++++
drivers/mmc/core/sd.c | 36 +++++++++++++++++++++--
drivers/mmc/core/sdio.c | 24 ++++++++++++++++
drivers/mmc/core/sdio_bus.c | 54 ++++++++++++++++++++++++++---------
drivers/mmc/core/sdio_cis.c | 11 +++++++
include/linux/mmc/card.h | 2 ++
include/linux/mmc/sdio_func.h | 2 ++
7 files changed, 124 insertions(+), 17 deletions(-)
--
2.20.1
next reply other threads:[~2020-07-27 13:38 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-27 13:38 Pali Rohár [this message]
2020-07-27 13:38 ` [PATCH 1/4] mmc: sdio: Check for CISTPL_VERS_1 buffer size Pali Rohár
2020-07-27 13:38 ` [PATCH 2/4] mmc: sdio: Parse CISTPL_VERS_1 major and minor revision numbers Pali Rohár
2020-07-27 13:38 ` [PATCH 3/4] mmc: sdio: Extend sdio_config_attr macro and use it also for modalias Pali Rohár
2020-07-27 13:38 ` [PATCH 4/4] mmc: sdio: Export SDIO revision and info strings to userspace Pali Rohár
2020-08-22 9:41 ` [PATCH 0/4] mmc: sdio: Export CISTPL_VERS_1 attributes " Pali Rohár
2020-08-24 6:35 ` Ulf Hansson
2020-08-24 9:50 ` Ulf Hansson
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=20200727133837.19086-1-pali@kernel.org \
--to=pali@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=ulf.hansson@linaro.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).