Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[powerpc.git] / drivers / i2c / busses / i2c-s3c2410.c
index 58cfd31..9ebe429 100644 (file)
@@ -20,7 +20,6 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
-#include <linux/config.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 
 #include <linux/errno.h>
 #include <linux/err.h>
 #include <linux/platform_device.h>
+#include <linux/clk.h>
 
 #include <asm/hardware.h>
 #include <asm/irq.h>
 #include <asm/io.h>
 
-#include <asm/hardware/clock.h>
 #include <asm/arch/regs-gpio.h>
 #include <asm/arch/regs-iic.h>
 #include <asm/arch/iic.h>
@@ -567,7 +566,7 @@ static u32 s3c24xx_i2c_func(struct i2c_adapter *adap)
 
 /* i2c bus registration info */
 
-static struct i2c_algorithm s3c24xx_i2c_algorithm = {
+static const struct i2c_algorithm s3c24xx_i2c_algorithm = {
        .master_xfer            = s3c24xx_i2c_xfer,
        .functionality          = s3c24xx_i2c_func,
 };
@@ -738,7 +737,6 @@ static void s3c24xx_i2c_free(struct s3c24xx_i2c *i2c)
 {
        if (i2c->clk != NULL && !IS_ERR(i2c->clk)) {
                clk_disable(i2c->clk);
-               clk_unuse(i2c->clk);
                clk_put(i2c->clk);
                i2c->clk = NULL;
        }
@@ -778,7 +776,6 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
 
        dev_dbg(&pdev->dev, "clock source %p\n", i2c->clk);
 
-       clk_use(i2c->clk);
        clk_enable(i2c->clk);
 
        /* map the registers */
@@ -831,7 +828,7 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
                goto out;
        }
 
-       ret = request_irq(res->start, s3c24xx_i2c_irq, SA_INTERRUPT,
+       ret = request_irq(res->start, s3c24xx_i2c_irq, IRQF_DISABLED,
                          pdev->name, i2c);
 
        if (ret != 0) {