8250 serial driver and PM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I'm working on power management support for a particular ARM based board and I've got a question: I want to add a board specific power management for standard uart driver (serial8250). For this purpose there is a special hook defined in uart_8250_port structure (drivers/serial/8250.c):
...
>        /*
>        * We provide a per-port pm hook.
>         */
>        void                    (*pm)(struct uart_port *port,
> unsigned int state, unsigned int old);
...

When driver goes into suspend/resume, serial8250_pm() function is called and it checks for the hook and executes it if it exists. But I didn't find a proper way to assign my own function to this hook. How this hook is supposed to be changed? Is there a way to correctly initialize it and how it should be done? Whether it's a good way to initialize it, for example, in serial8250_isa_init_ports():
...
               up->mcr_mask = ~ALPHA_KLUDGE_MCR;
               up->mcr_force = ALPHA_KLUDGE_MCR;

               up->port.ops = &serial8250_pops;

#ifdef CONFIG_ARCH_XXX
               up->pm = pnx4008_uart_pm;
#endif
      }
...

Or it's a bad manner?

Any help appreciated,

Thanks,
Grigory.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux