~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise-security

« back to all changes in this revision

Viewing changes to drivers/w1/w1_io.c

  • Committer: Package Import Robot
  • Author(s): Paolo Pisati, Paolo Pisati
  • Date: 2011-12-06 15:56:07 UTC
  • Revision ID: package-import@ubuntu.com-20111206155607-pcf44kv5fmhk564f
Tags: 3.2.0-1401.1
[ Paolo Pisati ]

* Rebased on top of Ubuntu-3.2.0-3.8
* Tilt-tracking @ ef2487af4bb15bdd0689631774b5a5e3a59f74e2
* Delete debian.ti-omap4/control, it shoudln't be tracked
* Fix architecture spelling (s/armel/armhf/)
* [Config] Update configs following 3.2 import
* [Config] Fix compilation: disable CODA and ARCH_OMAP3
* [Config] Fix compilation: disable Ethernet Faraday
* Update series to precise

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
2
 *      w1_io.c
3
3
 *
4
 
 * Copyright (c) 2004 Evgeniy Polyakov <johnpol@2ka.mipt.ru>
 
4
 * Copyright (c) 2004 Evgeniy Polyakov <zbr@ioremap.net>
5
5
 *
6
6
 *
7
7
 * This program is free software; you can redistribute it and/or modify
158
158
static u8 w1_read_bit(struct w1_master *dev)
159
159
{
160
160
        int result;
 
161
        unsigned long flags;
161
162
 
 
163
        /* sample timing is critical here */
 
164
        local_irq_save(flags);
162
165
        dev->bus_master->write_bit(dev->bus_master->data, 0);
163
166
        w1_delay(6);
164
167
        dev->bus_master->write_bit(dev->bus_master->data, 1);
165
168
        w1_delay(9);
166
169
 
167
170
        result = dev->bus_master->read_bit(dev->bus_master->data);
 
171
        local_irq_restore(flags);
 
172
 
168
173
        w1_delay(55);
169
174
 
170
175
        return result & 0x1;