An optional associated buffer.
 - indio_dev->pollfunc:
        Poll function related elements. This controls what occurs when a trigger
-       to which this device is attached sends and event.
+       to which this device is attached sends an event.
 - indio_dev->channels:
        Specification of device channels. Most attributes etc are built
        form this spec.
 
        help
         Driver intended mainly as documentation for how to write
         a driver. May also be useful for testing userspace code
-        without hardward.
+        without hardware.
 
 if IIO_SIMPLE_DUMMY
 
 
        __lis3l02dq_write_data_ready_config(&indio_dev->dev, state);
        if (state == false) {
                /*
-                * A possible quirk with teh handler is currently worked around
+                * A possible quirk with the handler is currently worked around
                 *  by ensuring outstanding read events are cleared.
                 */
                ret = lis3l02dq_read_all(indio_dev, NULL);
 
 #define SCA3000_INT_MASK_ACTIVE_HIGH           0x01
 #define SCA3000_INT_MASK_ACTIVE_LOW            0x00
 
-/* Values of mulipexed registers (write to ctrl_data after select) */
+/* Values of multiplexed registers (write to ctrl_data after select) */
 #define SCA3000_REG_ADDR_CTRL_DATA             0x22
 
 /* Measurement modes available on some sca3000 series chips. Code assumes others
 
 /**
  * ad7476_ring_preenable() setup the parameters of the ring before enabling
  *
- * The complex nature of the setting of the nuber of bytes per datum is due
+ * The complex nature of the setting of the number of bytes per datum is due
  * to this driver currently ensuring that the timestamp is stored at an 8
  * byte boundary.
  **/
 
 /**
  * ad799x_ring_preenable() setup the parameters of the ring before enabling
  *
- * The complex nature of the setting of the nuber of bytes per datum is due
+ * The complex nature of the setting of the number of bytes per datum is due
  * to this driver currently ensuring that the timestamp is stored at an 8
  * byte boundary.
  **/
 
 static struct iio_chan_spec max1363_channels[] =
        MAX1363_4X_CHANS(12, MAX1363_EV_M);
 
-/* Appies to max1236, max1237 */
+/* Applies to max1236, max1237 */
 static const enum max1363_modes max1236_mode_list[] = {
        _s0, _s1, _s2, _s3,
        s0to1, s0to2, s0to3,
 
        st->reg = reg;
        st->spi = spi;
 
-       /* Estabilish that the iio_dev is a child of the spi device */
+       /* Establish that the iio_dev is a child of the spi device */
        indio_dev->dev.parent = &spi->dev;
        indio_dev->name = spi_get_device_id(spi)->name;
        if (st->chip_info->store_pwr_down)
 
 
 /* Could add the raw attributes as well - allowing buffer only devices */
 enum iio_chan_info_enum {
-       /* 0 is reserverd for raw attributes */
+       /* 0 is reserved for raw attributes */
        IIO_CHAN_INFO_SCALE = 1,
        IIO_CHAN_INFO_OFFSET,
        IIO_CHAN_INFO_CALIBSCALE,
 /**
  * struct iio_chan_spec - specification of a single channel
  * @type:              What type of measurement is the channel making.
- * @channel:           What number or name do we wish to asign the channel.
+ * @channel:           What number or name do we wish to assign the channel.
  * @channel2:          If there is a second number for a differential
  *                     channel then this is it. If modified is set then the
  *                     value here specifies the modifier.
  *                     informative name. Note this has no effect codes etc,
  *                     unlike modifiers.
  * @datasheet_name:    A name used in in kernel mapping of channels. It should
- *                     corrspond to the first name that the channel is referred
+ *                     correspond to the first name that the channel is referred
  *                     to by in the datasheet (e.g. IND), or the nearest
  *                     possible compound name (e.g. IND-INC).
  * @processed_val:     Flag to specify the data access attribute should be
  * @write_event_config:        set if the event is enabled.
  * @read_event_value:  read a value associated with the event. Meaning
  *                     is event dependant. event_code specifies which event.
- * @write_event_value: write the value associate with the event.
+ * @write_event_value: write the value associated with the event.
  *                     Meaning is event dependent.
  * @validate_trigger:  function to validate the trigger when the
  *                     current trigger gets changed.
 
  * @chip: irq chip we are faking
  * @base: base of irq range
  * @enabled: mask of which irqs are enabled
- * @inuse: mask of which irqs actually have anyone connected
+ * @inuse: mask of which irqs are connected
  * @lock: protect the evgen state
  */
 struct iio_dummy_eventgen {
 
                goto error_ret;
        }
 
-       if (chan->differential) { /* Differential  can not have modifier */
+       if (chan->differential) { /* Differential can not have modifier */
                if (generic)
                        name_format
                                = kasprintf(GFP_KERNEL, "%s_%s-%s_%s",
        attrcount = attrcount_orig;
        /*
         * New channel registration method - relies on the fact a group does
-        *  not need to be initialized if it is name is NULL.
+        * not need to be initialized if it is name is NULL.
         */
        INIT_LIST_HEAD(&indio_dev->channel_attr_list);
        if (indio_dev->channels)
 
 
 /* This structure is intentionally large to accommodate updates via sysfs. */
 /* Sized to 11 = max 10 segments + 1 termination segment */
-/* Assumption is is one and only one type of glass used  */
+/* Assumption is one and only one type of glass used  */
 static struct taos_lux taos_device_lux[11] = {
        {  9830,  8520, 15729 },
        { 12452, 10807, 23344 },
 
 #define        RATE_NOT_USED                           0x07
 
 /*
- * Device Configutration
+ * Device Configuration
  */
 #define        CONF_NORMAL                             0x00
 #define        CONF_POSITIVE_BIAS                      0x01
                                        (operating_mode & 0x03));
 }
 
-/* Return the measurement value from the  specified channel */
+/* Return the measurement value from the specified channel */
 static int hmc5843_read_measurement(struct iio_dev *indio_dev,
                                    int address,
                                    int *val)
 /*
  * From the datasheet
  * 0 - Continuous-Conversion Mode: In continuous-conversion mode, the
- * device continuously performs conversions an places the result in the
+ * device continuously performs conversions and places the result in the
  * data register.
  *
  * 1 - Single-Conversion Mode : device performs a single measurement,
 
 /**
  * ade7758_ring_preenable() setup the parameters of the ring before enabling
  *
- * The complex nature of the setting of the nuber of bytes per datum is due
+ * The complex nature of the setting of the number of bytes per datum is due
  * to this driver currently ensuring that the timestamp is stored at an 8
  * byte boundary.
  **/
 
 #define IIO_EVENT_ATTR_CYCEND(_evlist, _show, _store, _mask) \
        IIO_EVENT_ATTR_SH(cycend, _evlist, _show, _store, _mask)
 
-/* on the rising and falling edge of the the voltage waveform */
+/* on the rising and falling edge of the voltage waveform */
 #define IIO_EVENT_ATTR_ZERO_CROSS(_evlist, _show, _store, _mask) \
        IIO_EVENT_ATTR_SH(zero_cross, _evlist, _show, _store, _mask)
 
 
        size_t data_available, buffer_size;
 
        /* A userspace program has probably made an error if it tries to
-        *  read something that is not a whole number of bpds.
+        * read something that is not a whole number of bpds.
         * Return an error.
         */
        if (n % ring->buf.bytes_per_datum) {
 
        /* setup the next read position */
        /* Beware, this may fail due to concurrency fun and games.
-        *  Possible that sufficient fill commands have run to push the read
+        * Possible that sufficient fill commands have run to push the read
         * pointer past where we would be after the rip. If this occurs, leave
         * it be.
         */