From nobody Thu Apr 13 14:13:12 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Py1kx13dvz4599l; Thu, 13 Apr 2023 14:13:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Py1kx0fL2z3QnW; Thu, 13 Apr 2023 14:13:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681395193; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=moj84iYiYDX8n3o01NId2FSzuD4F67hKB+XkqbAYtY8=; b=GBNLTh7t/V/PEhtWZ3wnI/EI+jDpG9y48QZPpcuZwhMUTNZHDGuRwNhB3/0YnB4lYKtBi5 4DaJy2NLZqsu4q/UFpJZ0DmGdwJIpcVYCYnJIpow6PAGN6SDalnS+G9KtC1L4bAI4EZUR7 /QYtF1CSuTrRLZizm6+msRGP2PmfJAqgJKmAHUqtDUOik/3GxxdnyMCQrF9wxVuHeUhyI+ FJi4w6zdDfbtJOPot2LMoGBs+Ie9BXoop+zXyu1vzL9GKgDiUOUAJ+mHFW28smgkkPKHeL vosROv4Teh0iQUuYK/W3nHlY29nKz94bmQMmcBdrtM+psLg+IFbtPYsp2xrgeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681395193; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=moj84iYiYDX8n3o01NId2FSzuD4F67hKB+XkqbAYtY8=; b=lKKLO8oosP3nr1X0tRynZh2CFt76GMX4BPX2nvSWKoJWBj5mY61j87n0fb9/8vrNdlnpLg EIqcGmHYboARYS36UKZ3NNPF3Mvp1EWw/cR6AauGC1ipD7EoYKUs3Q//b9v7RJb62ARsZL I/Y8SEWH2hFVlW4OEFaAltwEDrOZW5BX2bp3XKlHiY7YFZwCIRRsS8OaVwU+SHrEU4BW6L PCvmaYyyutJnpX5mFGXsYicYAAWdatpjoPy8B9HmthyJAD1M6cgcS22KGeinZXZxT1t85U VdnOGykyC4RcqFi4zCPwom+MAFTtZkUqQ5bQ+92UE2ihF/OF0zfYrqq9hmnrIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681395193; a=rsa-sha256; cv=none; b=GE/32F6lOPwUT4foh2mnxyyyjxwQ35yMnm5ooviIHhkdWwXDZLJAD+xdJj3M2NazA8WVji qWBD7BUdhwsPWUMdNQExrbSda8MOFINXolpBDlVa8BBDrnr20wez3zpsKJi+SaA7wqPuvE lBJS1q29eInc997EY5svONLqyT7aQyLLr2J12C3fYRWiN6nlfCdHezJH/eubrsF81oaFQC ISE6ROtbot1yQJUny/WdtPFDcWZHXFrwSnO/9BwATBGepdlPP4+WvKG36A7oQ3BLTkBWHs Ct0zBoxvcc14iK9nPkDhbwi4sOfsHWkX1+fi0XlUgc7Q5LlB+mOoDKltnVFRDw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Py1kw6rGpzlX5; Thu, 13 Apr 2023 14:13:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33DEDC6T038355; Thu, 13 Apr 2023 14:13:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33DEDC8W038354; Thu, 13 Apr 2023 14:13:12 GMT (envelope-from git) Date: Thu, 13 Apr 2023 14:13:12 GMT Message-Id: <202304131413.33DEDC8W038354@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 71883128e5c8 - main - rtsx: Add plug-and-play info List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 71883128e5c883bd986219b1aa1b2a7e9772a448 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=71883128e5c883bd986219b1aa1b2a7e9772a448 commit 71883128e5c883bd986219b1aa1b2a7e9772a448 Author: Henri Hennebert AuthorDate: 2023-04-13 14:07:12 +0000 Commit: Mitchell Horne CommitDate: 2023-04-13 14:12:50 +0000 rtsx: Add plug-and-play info Add MODULE_PNP_INFO() to the driver to make it autoload if not linked statically into the kernel. Remove the device from amd64/i386 GENERIC. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D35074 --- sys/amd64/conf/GENERIC | 1 - sys/dev/rtsx/rtsx.c | 49 +++++++++++++++++++++++++------------------------ sys/i386/conf/GENERIC | 1 - 3 files changed, 25 insertions(+), 26 deletions(-) diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index 67463e1013f8..6073f9716d3e 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -364,7 +364,6 @@ device snd_via8233 # VIA VT8233x Audio device mmc # MMC/SD bus device mmcsd # MMC/SD memory card device sdhci # Generic PCI SD Host Controller -device rtsx # Realtek SD card reader # VirtIO support device virtio # Generic VirtIO bus (required) diff --git a/sys/dev/rtsx/rtsx.c b/sys/dev/rtsx/rtsx.c index 65c4aa809de9..cd3ca787ed9a 100644 --- a/sys/dev/rtsx/rtsx.c +++ b/sys/dev/rtsx/rtsx.c @@ -174,22 +174,20 @@ struct rtsx_softc { #define RTSX_VERSION "2.1g" -static const struct rtsx_device { - uint16_t vendor_id; +static const struct rtsx_pciids { uint16_t device_id; const char *desc; -} rtsx_devices[] = { - { RTSX_REALTEK, RTSX_RTS5209, RTSX_VERSION " Realtek RTS5209 PCIe SD Card Reader"}, - { RTSX_REALTEK, RTSX_RTS5227, RTSX_VERSION " Realtek RTS5227 PCIe SD Card Reader"}, - { RTSX_REALTEK, RTSX_RTS5229, RTSX_VERSION " Realtek RTS5229 PCIe SD Card Reader"}, - { RTSX_REALTEK, RTSX_RTS522A, RTSX_VERSION " Realtek RTS522A PCIe SD Card Reader"}, - { RTSX_REALTEK, RTSX_RTS525A, RTSX_VERSION " Realtek RTS525A PCIe SD Card Reader"}, - { RTSX_REALTEK, RTSX_RTS5249, RTSX_VERSION " Realtek RTS5249 PCIe SD Card Reader"}, - { RTSX_REALTEK, RTSX_RTS5260, RTSX_VERSION " Realtek RTS5260 PCIe SD Card Reader"}, - { RTSX_REALTEK, RTSX_RTL8402, RTSX_VERSION " Realtek RTL8402 PCIe SD Card Reader"}, - { RTSX_REALTEK, RTSX_RTL8411, RTSX_VERSION " Realtek RTL8411 PCIe SD Card Reader"}, - { RTSX_REALTEK, RTSX_RTL8411B, RTSX_VERSION " Realtek RTL8411B PCIe SD Card Reader"}, - { 0, 0, NULL} +} rtsx_ids[] = { + { RTSX_RTS5209, RTSX_VERSION " Realtek RTS5209 PCIe SD Card Reader" }, + { RTSX_RTS5227, RTSX_VERSION " Realtek RTS5227 PCIe SD Card Reader" }, + { RTSX_RTS5229, RTSX_VERSION " Realtek RTS5229 PCIe SD Card Reader" }, + { RTSX_RTS522A, RTSX_VERSION " Realtek RTS522A PCIe SD Card Reader" }, + { RTSX_RTS525A, RTSX_VERSION " Realtek RTS525A PCIe SD Card Reader" }, + { RTSX_RTS5249, RTSX_VERSION " Realtek RTS5249 PCIe SD Card Reader" }, + { RTSX_RTS5260, RTSX_VERSION " Realtek RTS5260 PCIe SD Card Reader" }, + { RTSX_RTL8402, RTSX_VERSION " Realtek RTL8402 PCIe SD Card Reader" }, + { RTSX_RTL8411, RTSX_VERSION " Realtek RTL8411 PCIe SD Card Reader" }, + { RTSX_RTL8411B, RTSX_VERSION " Realtek RTL8411B PCIe SD Card Reader" }, }; /* See `kenv | grep smbios.system` */ @@ -199,6 +197,7 @@ static const struct rtsx_inversion_model { char *product; } rtsx_inversion_models[] = { { "LENOVO", "ThinkPad T470p", "20J7S0PM00"}, + { "LENOVO", "ThinkPad X13 Gen 1", "20UF000QRT"}, { NULL, NULL, NULL} }; @@ -3571,22 +3570,19 @@ rtsx_probe(device_t dev) uint16_t vendor_id; uint16_t device_id; int i; - int result; vendor_id = pci_get_vendor(dev); device_id = pci_get_device(dev); - result = ENXIO; - for (i = 0; rtsx_devices[i].vendor_id != 0; i++) { - if (rtsx_devices[i].vendor_id == vendor_id && - rtsx_devices[i].device_id == device_id) { - device_set_desc(dev, rtsx_devices[i].desc); - result = BUS_PROBE_DEFAULT; - break; + if (vendor_id != RTSX_REALTEK) + return (ENXIO); + for (i = 0; i < nitems(rtsx_ids); i++) { + if (rtsx_ids[i].device_id == device_id) { + device_set_desc(dev, rtsx_ids[i].desc); + return (BUS_PROBE_DEFAULT); } } - - return (result); + return (ENXIO); } /* @@ -3907,6 +3903,11 @@ static device_method_t rtsx_methods[] = { DEFINE_CLASS_0(rtsx, rtsx_driver, rtsx_methods, sizeof(struct rtsx_softc)); DRIVER_MODULE(rtsx, pci, rtsx_driver, NULL, NULL); + +/* For Plug and Play */ +MODULE_PNP_INFO("U16:device;D:#;T:vendor=0x10ec", pci, rtsx, + rtsx_ids, nitems(rtsx_ids)); + #ifndef MMCCAM MMC_DECLARE_BRIDGE(rtsx); #endif /* !MMCCAM */ diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC index 475b584f366b..0ca5fe12d13f 100644 --- a/sys/i386/conf/GENERIC +++ b/sys/i386/conf/GENERIC @@ -319,7 +319,6 @@ device snd_via8233 # VIA VT8233x Audio device mmc # MMC/SD bus device mmcsd # MMC/SD memory card device sdhci # Generic PCI SD Host Controller -device rtsx # Realtek SD card reader # VirtIO support device virtio # Generic VirtIO bus (required)