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).