rust: driver: fix broken intra-doc links to example driver types

The `auxiliary` and `pci` modules are conditional on
`CONFIG_AUXILIARY_BUS` and `CONFIG_PCI` respectively. When these are
disabled, the intra-doc links to `auxiliary::Driver` and `pci::Driver`
break, causing rustdoc warnings (or errors with `-D warnings`).

error: unresolved link to `kernel::auxiliary::Driver`
--> rust/kernel/driver.rs:82:28
|
82 | //! [`auxiliary::Driver`]: kernel::auxiliary::Driver
| ^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `auxiliary` in module `kernel`

Fix this by making the documentation for these examples conditional on
the corresponding configuration options.

Fixes: 970a7c68788e ("driver: rust: expand documentation for driver infrastructure")
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
Reported-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
Closes: https://lore.kernel.org/rust-for-linux/20251209.151817.744108529426448097.fujita.tomonori@gmail.com/
Link: https://patch.msgid.link/20251227-driver-types-v1-1-1916154fbe5e@google.com
Signed-off-by: Danilo Krummrich <dakr@kernel.org>

authored by Alice Ryhl and committed by Danilo Krummrich 4c9f6a78 3691fd19

Changed files
+8 -4
rust
kernel
+8 -4
rust/kernel/driver.rs
··· 33 33 //! } 34 34 //! ``` 35 35 //! 36 - //! For specific examples see [`auxiliary::Driver`], [`pci::Driver`] and [`platform::Driver`]. 36 + //! For specific examples see: 37 + //! 38 + //! * [`platform::Driver`](kernel::platform::Driver) 39 + #![cfg_attr( 40 + CONFIG_AUXILIARY_BUS, 41 + doc = "* [`auxiliary::Driver`](kernel::auxiliary::Driver)" 42 + )] 43 + #![cfg_attr(CONFIG_PCI, doc = "* [`pci::Driver`](kernel::pci::Driver)")] 37 44 //! 38 45 //! The `probe()` callback should return a `impl PinInit<Self, Error>`, i.e. the driver's private 39 46 //! data. The bus abstraction should store the pointer in the corresponding bus device. The generic ··· 86 79 //! 87 80 //! For this purpose the generic infrastructure in [`device_id`] should be used. 88 81 //! 89 - //! [`auxiliary::Driver`]: kernel::auxiliary::Driver 90 82 //! [`Core`]: device::Core 91 83 //! [`Device`]: device::Device 92 84 //! [`Device<Core>`]: device::Device<device::Core> ··· 93 87 //! [`DeviceContext`]: device::DeviceContext 94 88 //! [`device_id`]: kernel::device_id 95 89 //! [`module_driver`]: kernel::module_driver 96 - //! [`pci::Driver`]: kernel::pci::Driver 97 - //! [`platform::Driver`]: kernel::platform::Driver 98 90 99 91 use crate::error::{Error, Result}; 100 92 use crate::{acpi, device, of, str::CStr, try_pin_init, types::Opaque, ThisModule};