On Sat, Jun 29, 2019 at 07:36:46AM -0300, Mauro Carvalho Chehab wrote: > No new doc should be added at the main Documentation/ directory. > > Instead, new docs should be added as ReST files, within the > Kernel documentation body. Got it, thanks. -corey > > Fixes: 51bd6f291583 ("Add support for IPMB driver") > Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@xxxxxxxxxx> > --- > Documentation/driver-api/index.rst | 1 + > .../{IPMB.txt => driver-api/ipmb.rst} | 62 ++++++++++--------- > 2 files changed, 33 insertions(+), 30 deletions(-) > rename Documentation/{IPMB.txt => driver-api/ipmb.rst} (71%) > > diff --git a/Documentation/driver-api/index.rst b/Documentation/driver-api/index.rst > index e33849b948c7..e49c34bf16c0 100644 > --- a/Documentation/driver-api/index.rst > +++ b/Documentation/driver-api/index.rst > @@ -75,6 +75,7 @@ available subsections can be seen below. > dell_rbu > edid > eisa > + ipmb > isa > isapnp > generic-counter > diff --git a/Documentation/IPMB.txt b/Documentation/driver-api/ipmb.rst > similarity index 71% > rename from Documentation/IPMB.txt > rename to Documentation/driver-api/ipmb.rst > index cd20c9764705..3ec3baed84c4 100644 > --- a/Documentation/IPMB.txt > +++ b/Documentation/driver-api/ipmb.rst > @@ -32,11 +32,11 @@ This driver works with the I2C driver and a userspace > program such as OpenIPMI: > > 1) It is an I2C slave backend driver. So, it defines a callback > -function to set the Satellite MC as an I2C slave. > -This callback function handles the received IPMI requests. > + function to set the Satellite MC as an I2C slave. > + This callback function handles the received IPMI requests. > > 2) It defines the read and write functions to enable a user > -space program (such as OpenIPMI) to communicate with the kernel. > + space program (such as OpenIPMI) to communicate with the kernel. > > > Load the IPMB driver > @@ -48,34 +48,35 @@ CONFIG_IPMB_DEVICE_INTERFACE=y > > 1) If you want the driver to be loaded at boot time: > > -a) Add this entry to your ACPI table, under the appropriate SMBus: > +a) Add this entry to your ACPI table, under the appropriate SMBus:: > > -Device (SMB0) // Example SMBus host controller > -{ > - Name (_HID, "<Vendor-Specific HID>") // Vendor-Specific HID > - Name (_UID, 0) // Unique ID of particular host controller > - : > - : > - Device (IPMB) > - { > - Name (_HID, "IPMB0001") // IPMB device interface > - Name (_UID, 0) // Unique device identifier > - } > -} > + Device (SMB0) // Example SMBus host controller > + { > + Name (_HID, "<Vendor-Specific HID>") // Vendor-Specific HID > + Name (_UID, 0) // Unique ID of particular host controller > + : > + : > + Device (IPMB) > + { > + Name (_HID, "IPMB0001") // IPMB device interface > + Name (_UID, 0) // Unique device identifier > + } > + } > > -b) Example for device tree: > +b) Example for device tree:: > > -&i2c2 { > - status = "okay"; > + &i2c2 { > + status = "okay"; > > - ipmb@10 { > - compatible = "ipmb-dev"; > - reg = <0x10>; > - }; > -}; > + ipmb@10 { > + compatible = "ipmb-dev"; > + reg = <0x10>; > + }; > + }; > > -2) Manually from Linux: > -modprobe ipmb-dev-int > +2) Manually from Linux:: > + > + modprobe ipmb-dev-int > > > Instantiate the device > @@ -86,15 +87,16 @@ described in 'Documentation/i2c/instantiating-devices.rst'. > If you have multiple BMCs, each connected to your Satellite MC via > a different I2C bus, you can instantiate a device for each of > those BMCs. > + > The name of the instantiated device contains the I2C bus number > -associated with it as follows: > +associated with it as follows:: > > -BMC1 ------ IPMB/I2C bus 1 ---------| /dev/ipmb-1 > + BMC1 ------ IPMB/I2C bus 1 ---------| /dev/ipmb-1 > Satellite MC > -BMC1 ------ IPMB/I2C bus 2 ---------| /dev/ipmb-2 > + BMC1 ------ IPMB/I2C bus 2 ---------| /dev/ipmb-2 > > For instance, you can instantiate the ipmb-dev-int device from > -user space at the 7 bit address 0x10 on bus 2: > +user space at the 7 bit address 0x10 on bus 2:: > > # echo ipmb-dev 0x1010 > /sys/bus/i2c/devices/i2c-2/new_device > > -- > 2.21.0 >