mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-27 21:03:31 -04:00
rust: driver: remove $module_table_name from module_device_table
Wrap the generated code in a `const _: ()` block to avoid symbol conflict. This removes the need of creating a new identifier. Signed-off-by: Gary Guo <gary@garyguo.net> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://patch.msgid.link/20260629-id_info-v2-7-56fccbe9c5ef@garyguo.net [ Consider the serdev code merged in the meantime. - Danilo ] Signed-off-by: Danilo Krummrich <dakr@kernel.org>
This commit is contained in:
committed by
Danilo Krummrich
parent
1d92f2e8b8
commit
0deeb4222d
@@ -194,7 +194,6 @@ fn register_em(policy: &mut cpufreq::Policy) {
|
||||
|
||||
kernel::of_device_table!(
|
||||
OF_TABLE,
|
||||
MODULE_OF_TABLE,
|
||||
<CPUFreqDTDriver as platform::Driver>::IdInfo,
|
||||
[(of::DeviceId::new(c"operating-points-v2"), ())]
|
||||
);
|
||||
|
||||
@@ -43,7 +43,6 @@ pub(crate) struct NovaData {
|
||||
|
||||
kernel::auxiliary_device_table!(
|
||||
AUX_TABLE,
|
||||
MODULE_AUX_TABLE,
|
||||
<NovaDriver as auxiliary::Driver>::IdInfo,
|
||||
[(
|
||||
auxiliary::DeviceId::new(NOVA_CORE_MODULE_NAME, AUXILIARY_NAME),
|
||||
|
||||
@@ -87,7 +87,6 @@ fn issue_soft_reset(dev: &Device, iomem: &IoMem<'_>) -> Result {
|
||||
|
||||
kernel::of_device_table!(
|
||||
OF_TABLE,
|
||||
MODULE_OF_TABLE,
|
||||
<TyrPlatformDriver as platform::Driver>::IdInfo,
|
||||
[
|
||||
(of::DeviceId::new(c"rockchip,rk3588-mali"), ()),
|
||||
|
||||
@@ -40,7 +40,6 @@ pub(crate) struct NovaCore<'bound> {
|
||||
|
||||
kernel::pci_device_table!(
|
||||
PCI_TABLE,
|
||||
MODULE_PCI_TABLE,
|
||||
<NovaCoreDriver as pci::Driver>::IdInfo,
|
||||
[
|
||||
// Modern NVIDIA GPUs will show up as either VGA or 3D controllers.
|
||||
|
||||
@@ -299,7 +299,6 @@ fn drop(self: Pin<&mut Self>) {
|
||||
|
||||
kernel::of_device_table!(
|
||||
OF_TABLE,
|
||||
MODULE_OF_TABLE,
|
||||
<Th1520PwmPlatformDriver as platform::Driver>::IdInfo,
|
||||
[(of::DeviceId::new(c"thead,th1520-pwm"), ())]
|
||||
);
|
||||
|
||||
@@ -177,7 +177,7 @@ fn info(&self, index: usize) -> &U {
|
||||
macro_rules! module_device_table {
|
||||
(
|
||||
$table_type: literal, $device_id_ty: ty,
|
||||
$table_name: ident, $module_table_name: ident, $id_info_type: ty,
|
||||
$table_name: ident, $id_info_type: ty,
|
||||
[$(($id: expr, $info:expr $(,)?)),* $(,)?]
|
||||
) => {
|
||||
const $table_name: $crate::device_id::IdArray<
|
||||
@@ -186,13 +186,13 @@ macro_rules! module_device_table {
|
||||
{ <[$device_id_ty]>::len(&[$($id,)*]) },
|
||||
> = $crate::device_id::IdArray::new([$(($id, $info),)*]);
|
||||
|
||||
$crate::module_device_table!($table_type, $module_table_name, $table_name);
|
||||
$crate::module_device_table!($table_type, $table_name);
|
||||
};
|
||||
|
||||
// Case for no ID info.
|
||||
(
|
||||
$table_type: literal, $device_id_ty: ty,
|
||||
$table_name: ident, $module_table_name: ident, @none,
|
||||
$table_name: ident, @none,
|
||||
[$($id: expr),* $(,)?]
|
||||
) => {
|
||||
const $table_name: $crate::device_id::IdArray<
|
||||
@@ -201,18 +201,20 @@ macro_rules! module_device_table {
|
||||
{ <[$device_id_ty]>::len(&[$($id,)*]) },
|
||||
> = $crate::device_id::IdArray::new_without_index([$($id),*]);
|
||||
|
||||
$crate::module_device_table!($table_type, $module_table_name, $table_name);
|
||||
$crate::module_device_table!($table_type, $table_name);
|
||||
};
|
||||
|
||||
($table_type: literal, $module_table_name: ident, $table_name:ident) => {
|
||||
#[rustfmt::skip]
|
||||
#[export_name =
|
||||
concat!("__mod_device_table__", line!(),
|
||||
"__kmod_", module_path!(),
|
||||
"__", $table_type,
|
||||
"__", stringify!($table_name))
|
||||
]
|
||||
static $module_table_name: [::core::mem::MaybeUninit<u8>; $table_name.raw_ids().size()] =
|
||||
unsafe { ::core::mem::transmute_copy($table_name.raw_ids()) };
|
||||
($table_type: literal, $table_name:ident) => {
|
||||
const _: () = {
|
||||
#[rustfmt::skip]
|
||||
#[export_name =
|
||||
concat!("__mod_device_table__", line!(),
|
||||
"__kmod_", module_path!(),
|
||||
"__", $table_type,
|
||||
"__", stringify!($table_name))
|
||||
]
|
||||
static MOD_DEVICE_TABLE: [::core::mem::MaybeUninit<u8>; $table_name.raw_ids().size()] =
|
||||
unsafe { ::core::mem::transmute_copy($table_name.raw_ids()) };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -261,7 +261,6 @@ macro_rules! module_i2c_driver {
|
||||
///
|
||||
/// kernel::acpi_device_table!(
|
||||
/// ACPI_TABLE,
|
||||
/// MODULE_ACPI_TABLE,
|
||||
/// <MyDriver as i2c::Driver>::IdInfo,
|
||||
/// [
|
||||
/// (acpi::DeviceId::new(c"LNUXBEEF"), ())
|
||||
@@ -270,7 +269,6 @@ macro_rules! module_i2c_driver {
|
||||
///
|
||||
/// kernel::i2c_device_table!(
|
||||
/// I2C_TABLE,
|
||||
/// MODULE_I2C_TABLE,
|
||||
/// <MyDriver as i2c::Driver>::IdInfo,
|
||||
/// [
|
||||
/// (i2c::DeviceId::new(c"rust_driver_i2c"), ())
|
||||
@@ -279,7 +277,6 @@ macro_rules! module_i2c_driver {
|
||||
///
|
||||
/// kernel::of_device_table!(
|
||||
/// OF_TABLE,
|
||||
/// MODULE_OF_TABLE,
|
||||
/// <MyDriver as i2c::Driver>::IdInfo,
|
||||
/// [
|
||||
/// (of::DeviceId::new(c"test,device"), ())
|
||||
|
||||
@@ -867,7 +867,7 @@ macro_rules! module_phy_driver {
|
||||
(@device_table [$($dev:expr),+]) => {
|
||||
$crate::module_device_table!(
|
||||
"mdio", $crate::net::phy::DeviceId,
|
||||
phydev, TABLE, @none, [$($dev),+]
|
||||
TABLE, @none, [$($dev),+]
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
@@ -261,7 +261,6 @@ macro_rules! pci_device_table {
|
||||
///
|
||||
/// kernel::pci_device_table!(
|
||||
/// PCI_TABLE,
|
||||
/// MODULE_PCI_TABLE,
|
||||
/// <MyDriver as pci::Driver>::IdInfo,
|
||||
/// [
|
||||
/// (
|
||||
|
||||
@@ -176,7 +176,6 @@ macro_rules! module_platform_driver {
|
||||
///
|
||||
/// kernel::of_device_table!(
|
||||
/// OF_TABLE,
|
||||
/// MODULE_OF_TABLE,
|
||||
/// <MyDriver as platform::Driver>::IdInfo,
|
||||
/// [
|
||||
/// (of::DeviceId::new(c"test,device"), ())
|
||||
@@ -185,7 +184,6 @@ macro_rules! module_platform_driver {
|
||||
///
|
||||
/// kernel::acpi_device_table!(
|
||||
/// ACPI_TABLE,
|
||||
/// MODULE_ACPI_TABLE,
|
||||
/// <MyDriver as platform::Driver>::IdInfo,
|
||||
/// [
|
||||
/// (acpi::DeviceId::new(c"LNUXBEEF"), ())
|
||||
|
||||
@@ -322,7 +322,6 @@ macro_rules! module_serdev_device_driver {
|
||||
///
|
||||
/// kernel::of_device_table!(
|
||||
/// OF_TABLE,
|
||||
/// MODULE_OF_TABLE,
|
||||
/// <MyDriver as serdev::Driver>::IdInfo,
|
||||
/// [
|
||||
/// (of::DeviceId::new(c"test,device"), ())
|
||||
@@ -331,7 +330,6 @@ macro_rules! module_serdev_device_driver {
|
||||
///
|
||||
/// kernel::acpi_device_table!(
|
||||
/// ACPI_TABLE,
|
||||
/// MODULE_ACPI_TABLE,
|
||||
/// <MyDriver as serdev::Driver>::IdInfo,
|
||||
/// [
|
||||
/// (acpi::DeviceId::new(c"LNUXBEEF"), ())
|
||||
|
||||
@@ -271,7 +271,6 @@ macro_rules! usb_device_table {
|
||||
///
|
||||
/// kernel::usb_device_table!(
|
||||
/// USB_TABLE,
|
||||
/// MODULE_USB_TABLE,
|
||||
/// <MyDriver as usb::Driver>::IdInfo,
|
||||
/// [
|
||||
/// (usb::DeviceId::from_id(0x1234, 0x5678), ()),
|
||||
|
||||
@@ -110,7 +110,6 @@ fn from_str(s: &str) -> Result<Self> {
|
||||
|
||||
kernel::acpi_device_table!(
|
||||
ACPI_TABLE,
|
||||
MODULE_ACPI_TABLE,
|
||||
<RustDebugFs as platform::Driver>::IdInfo,
|
||||
[(acpi::DeviceId::new(c"LNUXBEEF"), ())]
|
||||
);
|
||||
|
||||
@@ -61,7 +61,6 @@ unsafe impl kernel::transmute::FromBytes for MyStruct {}
|
||||
|
||||
kernel::pci_device_table!(
|
||||
PCI_TABLE,
|
||||
MODULE_PCI_TABLE,
|
||||
<DmaSampleDriver as pci::Driver>::IdInfo,
|
||||
[(pci::DeviceId::from_id(pci::Vendor::REDHAT, 0x5), ())]
|
||||
);
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
|
||||
kernel::auxiliary_device_table!(
|
||||
AUX_TABLE,
|
||||
MODULE_AUX_TABLE,
|
||||
<AuxiliaryDriver as auxiliary::Driver>::IdInfo,
|
||||
[(auxiliary::DeviceId::new(MODULE_NAME, AUXILIARY_NAME), ())]
|
||||
);
|
||||
@@ -87,7 +86,6 @@ struct ParentData<'bound> {
|
||||
|
||||
kernel::pci_device_table!(
|
||||
PCI_TABLE,
|
||||
MODULE_PCI_TABLE,
|
||||
<ParentDriver as pci::Driver>::IdInfo,
|
||||
[(pci::DeviceId::from_id(pci::Vendor::REDHAT, 0x5), ())]
|
||||
);
|
||||
|
||||
@@ -14,21 +14,18 @@
|
||||
|
||||
kernel::acpi_device_table! {
|
||||
ACPI_TABLE,
|
||||
MODULE_ACPI_TABLE,
|
||||
<SampleDriver as i2c::Driver>::IdInfo,
|
||||
[(acpi::DeviceId::new(c"LNUXBEEF"), 0)]
|
||||
}
|
||||
|
||||
kernel::i2c_device_table! {
|
||||
I2C_TABLE,
|
||||
MODULE_I2C_TABLE,
|
||||
<SampleDriver as i2c::Driver>::IdInfo,
|
||||
[(i2c::DeviceId::new(c"rust_driver_i2c"), 0)]
|
||||
}
|
||||
|
||||
kernel::of_device_table! {
|
||||
OF_TABLE,
|
||||
MODULE_OF_TABLE,
|
||||
<SampleDriver as i2c::Driver>::IdInfo,
|
||||
[(of::DeviceId::new(c"test,rust_driver_i2c"), 0)]
|
||||
}
|
||||
|
||||
@@ -74,7 +74,6 @@ struct SampleDriverData<'bound> {
|
||||
|
||||
kernel::pci_device_table!(
|
||||
PCI_TABLE,
|
||||
MODULE_PCI_TABLE,
|
||||
<SampleDriver as pci::Driver>::IdInfo,
|
||||
[(
|
||||
pci::DeviceId::from_id(pci::Vendor::REDHAT, 0x5),
|
||||
|
||||
@@ -87,14 +87,12 @@ struct SampleDriver {
|
||||
|
||||
kernel::of_device_table!(
|
||||
OF_TABLE,
|
||||
MODULE_OF_TABLE,
|
||||
<SampleDriver as platform::Driver>::IdInfo,
|
||||
[(of::DeviceId::new(c"test,rust-device"), Info(42))]
|
||||
);
|
||||
|
||||
kernel::acpi_device_table!(
|
||||
ACPI_TABLE,
|
||||
MODULE_ACPI_TABLE,
|
||||
<SampleDriver as platform::Driver>::IdInfo,
|
||||
[(acpi::DeviceId::new(c"LNUXBEEF"), Info(0))]
|
||||
);
|
||||
|
||||
@@ -20,14 +20,12 @@ struct SampleDriver {
|
||||
|
||||
kernel::of_device_table!(
|
||||
OF_TABLE,
|
||||
MODULE_OF_TABLE,
|
||||
<SampleDriver as serdev::Driver>::IdInfo,
|
||||
[(of::DeviceId::new(c"test,rust_driver_serdev"), ())]
|
||||
);
|
||||
|
||||
kernel::acpi_device_table!(
|
||||
ACPI_TABLE,
|
||||
MODULE_ACPI_TABLE,
|
||||
<SampleDriver as serdev::Driver>::IdInfo,
|
||||
[(acpi::DeviceId::new(c"LNUXBEEF"), ())]
|
||||
);
|
||||
|
||||
@@ -19,7 +19,6 @@ struct SampleDriver {
|
||||
|
||||
kernel::usb_device_table!(
|
||||
USB_TABLE,
|
||||
MODULE_USB_TABLE,
|
||||
<SampleDriver as usb::Driver>::IdInfo,
|
||||
[(usb::DeviceId::from_id(0x1234, 0x5678), ()),]
|
||||
);
|
||||
|
||||
@@ -87,14 +87,12 @@ struct SampleDriver {
|
||||
|
||||
kernel::of_device_table!(
|
||||
OF_TABLE,
|
||||
MODULE_OF_TABLE,
|
||||
<SampleDriver as platform::Driver>::IdInfo,
|
||||
[(of::DeviceId::new(c"test,rust-device"), ())]
|
||||
);
|
||||
|
||||
kernel::acpi_device_table!(
|
||||
ACPI_TABLE,
|
||||
MODULE_ACPI_TABLE,
|
||||
<SampleDriver as platform::Driver>::IdInfo,
|
||||
[(acpi::DeviceId::new(c"LNUXBEEF"), ())]
|
||||
);
|
||||
|
||||
@@ -23,14 +23,12 @@ struct SampleSocDriver {
|
||||
|
||||
kernel::of_device_table!(
|
||||
OF_TABLE,
|
||||
MODULE_OF_TABLE,
|
||||
<SampleSocDriver as platform::Driver>::IdInfo,
|
||||
[(of::DeviceId::new(c"test,rust-device"), ())]
|
||||
);
|
||||
|
||||
kernel::acpi_device_table!(
|
||||
ACPI_TABLE,
|
||||
MODULE_ACPI_TABLE,
|
||||
<SampleSocDriver as platform::Driver>::IdInfo,
|
||||
[(acpi::DeviceId::new(c"LNUXBEEF"), ())]
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user