GNU/Linux >> Znalost Linux >  >> Linux

Jak jsou funkce rodiny dev_*() užitečné při ladění linuxového jádra?

pr_*() funkce jsou stejné jako plain printk() , ale s KERN_xxx úroveň protokolu již zahrnuta.

dev_*() funkce jsou stejné jako odpovídající pr_*() funkcí, ale také vytisknout identifikační informace o struct device .

Pokud se vaše zpráva týká nějakého zařízení (což je normální případ v ovladačích), měli byste použít dev_*() .Například v ovladači USB:

struct usb_device *usb_dev;
dev_info(&usb_dev->dev, "hello\n");

struct usb_interface *usb_intf;
dev_info(&usb_intf->dev, "hello\n");

nebo v ovladači PCI:

struct pci_dev *pci;
dev_info(&pci->dev, "hello\n");

dev_* funkce jsou podobné pr_* , ale také vytisknout některé informace o zařízení (struct device ), jim předán jako první argument. Tyto informace mohou pomoci filtrovat systémový protokol pro zprávy, které patří konkrétnímu zařízení.

Můžete tedy použít dev_* funkce namísto pr_* kdykoli je zpráva použitelná pro konkrétní zařízení (a máte její destriptor).


Linux
  1. Linux:Jak najít ovladač zařízení používaný pro zařízení?

  2. Linux – Jak linuxové jádro zná hlavní a vedlejší čísla zařízení?

  3. Linux – Jak zjistit, který modul poškozuje jádro?

  1. Linux – jaké jsou hodnoty vlastnosti přerušení stromu zařízení?

  2. Linux – Jsou různá jádra Linux/unix zaměnitelná?

  3. Jak linuxové jádro určuje pořadí volání __init?

  1. Jaké jsou funkce systému BIOS, když je spuštěn operační systém?

  2. Jak připojit zařízení v Linuxu?

  3. Jak mohu rezervovat blok paměti z jádra Linuxu?