/* Here we define a transistion notifier so that we can update all of our ports' baud rate when the peripheral clock changes.  */
static int sci_notifier(struct notifier_block *self, unsigned long phase, void *p)
/* Here we define a transistion notifier so that we can update all of our ports' baud rate when the peripheral clock changes.  */
static int sci_notifier(struct notifier_block *self, unsigned long phase, void *p)
{
	struct sh_sci_priv *priv = container_of(self,
						struct sh_sci_priv, clk_nb);
	struct sci_port *sci_port;
	unsigned long flags;
	if ((phase == CPUFREQ_POSTCHANGE) ||
	    (phase == CPUFREQ_RESUMECHANGE)) {
		spin_lock_irqsave(&priv->lock, flags);
		list_for_each_entry(sci_port, &priv->ports, node)
			sci_port->port.uartclk = clk_get_rate(sci_port->dclk);
		spin_unlock_irqrestore(&priv->lock, flags);
	}
	return NOTIFY_OK;
}