t7l66xb            82 drivers/mfd/t7l66xb.c 	struct t7l66xb *t7l66xb = dev_get_drvdata(mmc->dev.parent);
t7l66xb            87 drivers/mfd/t7l66xb.c 	ret = clk_prepare_enable(t7l66xb->clk32k);
t7l66xb            91 drivers/mfd/t7l66xb.c 	raw_spin_lock_irqsave(&t7l66xb->lock, flags);
t7l66xb            93 drivers/mfd/t7l66xb.c 	dev_ctl = tmio_ioread8(t7l66xb->scr + SCR_DEV_CTL);
t7l66xb            95 drivers/mfd/t7l66xb.c 	tmio_iowrite8(dev_ctl, t7l66xb->scr + SCR_DEV_CTL);
t7l66xb            97 drivers/mfd/t7l66xb.c 	raw_spin_unlock_irqrestore(&t7l66xb->lock, flags);
t7l66xb            99 drivers/mfd/t7l66xb.c 	tmio_core_mmc_enable(t7l66xb->scr + 0x200, 0,
t7l66xb           107 drivers/mfd/t7l66xb.c 	struct t7l66xb *t7l66xb = dev_get_drvdata(mmc->dev.parent);
t7l66xb           111 drivers/mfd/t7l66xb.c 	raw_spin_lock_irqsave(&t7l66xb->lock, flags);
t7l66xb           113 drivers/mfd/t7l66xb.c 	dev_ctl = tmio_ioread8(t7l66xb->scr + SCR_DEV_CTL);
t7l66xb           115 drivers/mfd/t7l66xb.c 	tmio_iowrite8(dev_ctl, t7l66xb->scr + SCR_DEV_CTL);
t7l66xb           117 drivers/mfd/t7l66xb.c 	raw_spin_unlock_irqrestore(&t7l66xb->lock, flags);
t7l66xb           119 drivers/mfd/t7l66xb.c 	clk_disable_unprepare(t7l66xb->clk32k);
t7l66xb           126 drivers/mfd/t7l66xb.c 	struct t7l66xb *t7l66xb = dev_get_drvdata(mmc->dev.parent);
t7l66xb           128 drivers/mfd/t7l66xb.c 	tmio_core_mmc_pwr(t7l66xb->scr + 0x200, 0, state);
t7l66xb           133 drivers/mfd/t7l66xb.c 	struct t7l66xb *t7l66xb = dev_get_drvdata(mmc->dev.parent);
t7l66xb           135 drivers/mfd/t7l66xb.c 	tmio_core_mmc_clk_div(t7l66xb->scr + 0x200, 0, state);
t7l66xb           186 drivers/mfd/t7l66xb.c 	struct t7l66xb *t7l66xb = irq_desc_get_handler_data(desc);
t7l66xb           190 drivers/mfd/t7l66xb.c 	irq_base = t7l66xb->irq_base;
t7l66xb           192 drivers/mfd/t7l66xb.c 	while ((isr = tmio_ioread8(t7l66xb->scr + SCR_ISR) &
t7l66xb           193 drivers/mfd/t7l66xb.c 				~tmio_ioread8(t7l66xb->scr + SCR_IMR)))
t7l66xb           201 drivers/mfd/t7l66xb.c 	struct t7l66xb *t7l66xb = irq_data_get_irq_chip_data(data);
t7l66xb           205 drivers/mfd/t7l66xb.c 	raw_spin_lock_irqsave(&t7l66xb->lock, flags);
t7l66xb           206 drivers/mfd/t7l66xb.c 	imr = tmio_ioread8(t7l66xb->scr + SCR_IMR);
t7l66xb           207 drivers/mfd/t7l66xb.c 	imr |= 1 << (data->irq - t7l66xb->irq_base);
t7l66xb           208 drivers/mfd/t7l66xb.c 	tmio_iowrite8(imr, t7l66xb->scr + SCR_IMR);
t7l66xb           209 drivers/mfd/t7l66xb.c 	raw_spin_unlock_irqrestore(&t7l66xb->lock, flags);
t7l66xb           214 drivers/mfd/t7l66xb.c 	struct t7l66xb *t7l66xb = irq_data_get_irq_chip_data(data);
t7l66xb           218 drivers/mfd/t7l66xb.c 	raw_spin_lock_irqsave(&t7l66xb->lock, flags);
t7l66xb           219 drivers/mfd/t7l66xb.c 	imr = tmio_ioread8(t7l66xb->scr + SCR_IMR);
t7l66xb           220 drivers/mfd/t7l66xb.c 	imr &= ~(1 << (data->irq - t7l66xb->irq_base));
t7l66xb           221 drivers/mfd/t7l66xb.c 	tmio_iowrite8(imr, t7l66xb->scr + SCR_IMR);
t7l66xb           222 drivers/mfd/t7l66xb.c 	raw_spin_unlock_irqrestore(&t7l66xb->lock, flags);
t7l66xb           237 drivers/mfd/t7l66xb.c 	struct t7l66xb *t7l66xb = platform_get_drvdata(dev);
t7l66xb           240 drivers/mfd/t7l66xb.c 	irq_base = t7l66xb->irq_base;
t7l66xb           244 drivers/mfd/t7l66xb.c 		irq_set_chip_data(irq, t7l66xb);
t7l66xb           247 drivers/mfd/t7l66xb.c 	irq_set_irq_type(t7l66xb->irq, IRQ_TYPE_EDGE_FALLING);
t7l66xb           248 drivers/mfd/t7l66xb.c 	irq_set_chained_handler_and_data(t7l66xb->irq, t7l66xb_irq, t7l66xb);
t7l66xb           253 drivers/mfd/t7l66xb.c 	struct t7l66xb *t7l66xb = platform_get_drvdata(dev);
t7l66xb           256 drivers/mfd/t7l66xb.c 	irq_base = t7l66xb->irq_base;
t7l66xb           258 drivers/mfd/t7l66xb.c 	irq_set_chained_handler_and_data(t7l66xb->irq, NULL, NULL);
t7l66xb           271 drivers/mfd/t7l66xb.c 	struct t7l66xb *t7l66xb = platform_get_drvdata(dev);
t7l66xb           276 drivers/mfd/t7l66xb.c 	clk_disable_unprepare(t7l66xb->clk48m);
t7l66xb           283 drivers/mfd/t7l66xb.c 	struct t7l66xb *t7l66xb = platform_get_drvdata(dev);
t7l66xb           287 drivers/mfd/t7l66xb.c 	ret = clk_prepare_enable(t7l66xb->clk48m);
t7l66xb           294 drivers/mfd/t7l66xb.c 	tmio_core_mmc_enable(t7l66xb->scr + 0x200, 0,
t7l66xb           309 drivers/mfd/t7l66xb.c 	struct t7l66xb *t7l66xb;
t7l66xb           320 drivers/mfd/t7l66xb.c 	t7l66xb = kzalloc(sizeof *t7l66xb, GFP_KERNEL);
t7l66xb           321 drivers/mfd/t7l66xb.c 	if (!t7l66xb)
t7l66xb           324 drivers/mfd/t7l66xb.c 	raw_spin_lock_init(&t7l66xb->lock);
t7l66xb           326 drivers/mfd/t7l66xb.c 	platform_set_drvdata(dev, t7l66xb);
t7l66xb           330 drivers/mfd/t7l66xb.c 		t7l66xb->irq = ret;
t7l66xb           334 drivers/mfd/t7l66xb.c 	t7l66xb->irq_base = pdata->irq_base;
t7l66xb           336 drivers/mfd/t7l66xb.c 	t7l66xb->clk32k = clk_get(&dev->dev, "CLK_CK32K");
t7l66xb           337 drivers/mfd/t7l66xb.c 	if (IS_ERR(t7l66xb->clk32k)) {
t7l66xb           338 drivers/mfd/t7l66xb.c 		ret = PTR_ERR(t7l66xb->clk32k);
t7l66xb           342 drivers/mfd/t7l66xb.c 	t7l66xb->clk48m = clk_get(&dev->dev, "CLK_CK48M");
t7l66xb           343 drivers/mfd/t7l66xb.c 	if (IS_ERR(t7l66xb->clk48m)) {
t7l66xb           344 drivers/mfd/t7l66xb.c 		ret = PTR_ERR(t7l66xb->clk48m);
t7l66xb           348 drivers/mfd/t7l66xb.c 	rscr = &t7l66xb->rscr;
t7l66xb           358 drivers/mfd/t7l66xb.c 	t7l66xb->scr = ioremap(rscr->start, resource_size(rscr));
t7l66xb           359 drivers/mfd/t7l66xb.c 	if (!t7l66xb->scr) {
t7l66xb           364 drivers/mfd/t7l66xb.c 	ret = clk_prepare_enable(t7l66xb->clk48m);
t7l66xb           372 drivers/mfd/t7l66xb.c 	tmio_iowrite8(0xbf, t7l66xb->scr + SCR_IMR);
t7l66xb           375 drivers/mfd/t7l66xb.c 		dev->name, tmio_ioread8(t7l66xb->scr + SCR_REVID),
t7l66xb           376 drivers/mfd/t7l66xb.c 		(unsigned long)iomem->start, t7l66xb->irq);
t7l66xb           385 drivers/mfd/t7l66xb.c 			      iomem, t7l66xb->irq_base, NULL);
t7l66xb           391 drivers/mfd/t7l66xb.c 	clk_disable_unprepare(t7l66xb->clk48m);
t7l66xb           393 drivers/mfd/t7l66xb.c 	iounmap(t7l66xb->scr);
t7l66xb           395 drivers/mfd/t7l66xb.c 	release_resource(&t7l66xb->rscr);
t7l66xb           397 drivers/mfd/t7l66xb.c 	clk_put(t7l66xb->clk48m);
t7l66xb           399 drivers/mfd/t7l66xb.c 	clk_put(t7l66xb->clk32k);
t7l66xb           402 drivers/mfd/t7l66xb.c 	kfree(t7l66xb);
t7l66xb           409 drivers/mfd/t7l66xb.c 	struct t7l66xb *t7l66xb = platform_get_drvdata(dev);
t7l66xb           413 drivers/mfd/t7l66xb.c 	clk_disable_unprepare(t7l66xb->clk48m);
t7l66xb           414 drivers/mfd/t7l66xb.c 	clk_put(t7l66xb->clk48m);
t7l66xb           415 drivers/mfd/t7l66xb.c 	clk_disable_unprepare(t7l66xb->clk32k);
t7l66xb           416 drivers/mfd/t7l66xb.c 	clk_put(t7l66xb->clk32k);
t7l66xb           418 drivers/mfd/t7l66xb.c 	iounmap(t7l66xb->scr);
t7l66xb           419 drivers/mfd/t7l66xb.c 	release_resource(&t7l66xb->rscr);
t7l66xb           421 drivers/mfd/t7l66xb.c 	kfree(t7l66xb);