As an example, in our ch1/miscdrv_rdwr misc driver code (and several others, in fact), we used this very macro (PRINT_CTX()) to display the context. Here's some sample output from when our simple rdwr_drv_secret app read the "secret message" from the driver (for clarity, I removed the dmesg timestamps):
CPU) task_name:PID | irqs,need-resched,hard/softirq,preempt-depth /* func_name() */
001) rdwr_drv_secret :29141 | .N.0 /* read_miscdrv_rdwr() */
The header line shows how to interpret the output. (In fact, this header line is off by default. I temporarily changed the value of the PRINTCTX_SHOWHDR variable to 1 to show it here.)
The following is another example from an (out of tree) driver while running the code of a (bottom-half) tasklet (we covered tasklets in the Understanding and using top and bottom halves section):
000) gnome-terminal- :3075 | .Ns1 ...