Commit graph

505,617 commits

Author SHA1 Message Date
Ben Skeggs
e138c7d8fc drm/nouveau/core: drop the pointer value in debug printk output
Makes the output slightly less useful, in that objects with the same
class handle can't be distinguished from each other now.

Upcoming commits will name objects with user-readable strings to fix
this problem.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2015-01-22 12:14:46 +10:00
Ben Skeggs
95fb6dd728 drm/nouveau/i2c: fix some blatant abuse
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2015-01-22 12:14:45 +10:00
Ben Skeggs
8d90d1ef88 drm/gf100-/bar: don't fill in bar->alloc until after all vm setup done
gpuobj has a condition of (bar && bar->alloc) around usage to avoid
some nasty ordering issues (which, i've now been reminded to add a
todo about fixing...) between bar and vm.

The bar->alloc part of the condition isn't currently necessary (it
used to be, another change made bar always NULL where it matters),
so we got lucky.  That won't be the case for much longer.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2015-01-22 12:14:44 +10:00
Ben Skeggs
6f5cee5b57 drm/nouveau/core: rename parent to handle, use parent for nouveau_parent
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2015-01-22 12:14:44 +10:00
Ben Skeggs
587f7a5b7c drm/nouveau/core: rename subclass.base to subclass.superclass
Makes things a bit more readable.  This is specially important now as
upcoming commits are going to be gradually removing the use of macros
for down-casts, in favour of compile-time checking.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2015-01-22 12:14:43 +10:00
Ben Skeggs
2f4a58e852 drm/nouveau/subdev: always upcast through nouveau_subdev()/nouveau_engine()
Has additional safeties for one.  For two, needed for an upcoming
commit that removes abuse of nouveau_object.engine.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2015-01-22 12:14:42 +10:00
Ben Skeggs
4534a2af58 drm/nouveau/fb: remove some (now) unnecessary hacks
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2015-01-22 12:14:42 +10:00
Zhao Lei
570193454a Rename all ref_count to refs in struct
refs is better than ref_count to record a struct's ref count.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Suggested-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:06:50 -08:00
Zhao Lei
ffe2d2034b Btrfs: Introduce BTRFS_BLOCK_GROUP_RAID56_MASK to check raid56 simply
So we can check raid56 with:
 (map->type & BTRFS_BLOCK_GROUP_RAID56_MASK)
instead of long:
 (map->type & (BTRFS_BLOCK_GROUP_RAID5 | BTRFS_BLOCK_GROUP_RAID6))

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:06:49 -08:00
Zhao Lei
10f1190016 Btrfs: Include map_type in raid_bio
Corrent code use many kinds of "clever" way to determine operation
target's raid type, as:
  raid_map != NULL
  or
  raid_map[MAX_NR] == RAID[56]_Q_STRIPE

To make code easy to maintenance, this patch put raid type into
bbio, and we can always get raid type from bbio with a "stupid"
way.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:06:49 -08:00
Zhao Lei
be50a8ddaa Btrfs: Simplify scrub_setup_recheck_block()'s argument
scrub_setup_recheck_block() have many arguments but most of them
can be get from one of them, we can remove them to make code clean.
Some other cleanup for that function also included in this patch.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:06:49 -08:00
Zhao Lei
b968fed1c3 Btrfs: Combine per-page recover in dev-replace and scrub
The code are similar, combine them to make code clean and easy to maintenance.
Some lost condition are also completed with benefit of this combination.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:06:49 -08:00
Zhao Lei
8d6738c1bd Btrfs: Separate finding-right-mirror and writing-to-target's process in scrub_handle_errored_block()
In corrent code, code of finding-right-mirror and writing-to-target
are mixed in logic, if we find a right mirror but failed in writing
to target, it will treat as "hadn't found right block", and fill the
target with sblock_bad.

Actually, "failed in writing to target" does not mean "source
block is wrong", this patch separate above two condition in logic,
and do some cleanup to make code clean.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:06:49 -08:00
Zhao Lei
dc5f7a3bd8 Btrfs: Break loop when reach BTRFS_MAX_MIRRORS in scrub_setup_recheck_block()
Use break instead of useless loop should be more suitable in this
case.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:06:48 -08:00
Zhao Lei
7653947fe6 Btrfs: btrfs_rm_dev_replace_blocked(): Use wait_event()
Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:06:48 -08:00
Zhao Lei
09dd7a01c3 Btrfs: Cleanup btrfs_bio_counter_inc_blocked()
1: Remove no-need DEFINE_WAIT(wait)
2: Add likely() for BTRFS_FS_STATE_DEV_REPLACING condition
3: Use while loop instead of goto

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:06:48 -08:00
Zhao Lei
114ab50d82 Btrfs: Remove noneed force_write in scrub_write_block_to_dev_replace
It is always 1 in this place, because !1 case was already jumped
out in previous code.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:06:48 -08:00
Zhao Lei
b25c94c580 Btrfs: Fix a jump typo of nodatasum_case to avoid wrong WARN_ON()
if (sctx->is_dev_replace && !is_metadata && !have_csum) {
    ...
    goto nodatasum_case;
}
...
nodatasum_case:
    WARN_ON(sctx->is_dev_replace);

In above code, nodatasum_case marker should be moved after
WARN_ON().

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:06:48 -08:00
Zhao Lei
6e9606d2a2 Btrfs: add ref_count and free function for btrfs_bio
1: ref_count is simple than current RBIO_HOLD_BBIO_MAP_BIT flag
   to keep btrfs_bio's memory in raid56 recovery implement.
2: free function for bbio will make code clean and flexible, plus
   forced data type checking in compile.

Changelog v1->v2:
 Rename following by David Sterba's suggestion:
 put_btrfs_bio() -> btrfs_put_bio()
 get_btrfs_bio() -> btrfs_get_bio()
 bbio->ref_count -> bbio->refs

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:06:48 -08:00
Zhao Lei
8e5cfb55d3 Btrfs: Make raid_map array be inlined in btrfs_bio structure
It can make code more simple and clear, we need not care about
free bbio and raid_map together.

Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:06:47 -08:00
Zhao Lei
cc7539edea Btrfs: sort raid_map before adding tgtdev stripes
It can avoid complex calculation of real stripes in sort,
moreover, we can clean up code of sorting tgtdev_map because it
will be in order initially.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:06:47 -08:00
Zhao Lei
e34c330d63 Btrfs: fix a out-of-bound access of raid_map
We add the number of stripes on target devices into bbio->num_stripes
if we are under device replacement, and we just sort the raid_map of
those stripes that not on the target devices, so if when we need
real raid_map, we need skip the stripes on the target devices.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:06:47 -08:00
Filipe Manana
df8d116ffa Btrfs: fix fsync log replay for inodes with a mix of regular refs and extrefs
If we have an inode with a large number of hard links, some of which may
be extrefs, turn a regular ref into an extref, fsync the inode and then
replay the fsync log (after a crash/reboot), we can endup with an fsync
log that makes the replay code always fail with -EOVERFLOW when processing
the inode's references.

This is easy to reproduce with the test case I made for xfstests. Its steps
are the following:

   _scratch_mkfs "-O extref" >> $seqres.full 2>&1
   _init_flakey
   _mount_flakey

   # Create a test file with 3001 hard links. This number is large enough to
   # make btrfs start using extrefs at some point even if the fs has the maximum
   # possible leaf/node size (64Kb).
   echo "hello world" > $SCRATCH_MNT/foo
   for i in `seq 1 3000`; do
       ln $SCRATCH_MNT/foo $SCRATCH_MNT/foo_link_`printf "%04d" $i`
   done

   # Make sure all metadata and data are durably persisted.
   sync

   # Now remove one link, add a new one with a new name, add another new one with
   # the same name as the one we just removed and fsync the inode.
   rm -f $SCRATCH_MNT/foo_link_0001
   ln $SCRATCH_MNT/foo $SCRATCH_MNT/foo_link_3001
   ln $SCRATCH_MNT/foo $SCRATCH_MNT/foo_link_0001
   rm -f $SCRATCH_MNT/foo_link_0002
   ln $SCRATCH_MNT/foo $SCRATCH_MNT/foo_link_3002
   ln $SCRATCH_MNT/foo $SCRATCH_MNT/foo_link_3003
   $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/foo

   # Simulate a crash/power loss. This makes sure the next mount
   # will see an fsync log and will replay that log.

   _load_flakey_table $FLAKEY_DROP_WRITES
   _unmount_flakey

   _load_flakey_table $FLAKEY_ALLOW_WRITES
   _mount_flakey

   # Check that the number of hard links is correct, we are able to remove all
   # the hard links and read the file's data. This is just to verify we don't
   # get stale file handle errors (due to dangling directory index entries that
   # point to inodes that no longer exist).
   echo "Link count: $(stat --format=%h $SCRATCH_MNT/foo)"
   [ -f $SCRATCH_MNT/foo ] || echo "Link foo is missing"
   for ((i = 1; i <= 3003; i++)); do
       name=foo_link_`printf "%04d" $i`
       if [ $i -eq 2 ]; then
           [ -f $SCRATCH_MNT/$name ] && echo "Link $name found"
       else
           [ -f $SCRATCH_MNT/$name ] || echo "Link $name is missing"
       fi
   done
   rm -f $SCRATCH_MNT/foo_link_*
   cat $SCRATCH_MNT/foo
   rm -f $SCRATCH_MNT/foo

   status=0
   exit

The fix is simply to correct the overflow condition when overwriting a
reference item because it was wrong, trying to increase the item in the
fs/subvol tree by an impossible amount. Also ensure that we don't insert
one normal ref and one ext ref for the same dentry - this happened because
processing a dir index entry from the parent in the log happened when
the normal ref item was full, which made the logic insert an extref and
later when the normal ref had enough room, it would be inserted again
when processing the ref item from the child inode in the log.

This issue has been present since the introduction of the extrefs feature
(2012).

A test case for xfstests follows soon. This test only passes if the previous
patch titled "Btrfs: fix fsync when extend references are added to an inode"
is applied too.

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:02:05 -08:00
Filipe Manana
2c2c452b0c Btrfs: fix fsync when extend references are added to an inode
If we added an extended reference to an inode and fsync'ed it, the log
replay code would make our inode have an incorrect link count, which
was lower then the expected/correct count.
This resulted in stale directory index entries after deleting some of
the hard links, and any access to the dangling directory entries resulted
in -ESTALE errors because the entries pointed to inode items that don't
exist anymore.

This is easy to reproduce with the test case I made for xfstests, and
the bulk of that test is:

    _scratch_mkfs "-O extref" >> $seqres.full 2>&1
    _init_flakey
    _mount_flakey

    # Create a test file with 3001 hard links. This number is large enough to
    # make btrfs start using extrefs at some point even if the fs has the maximum
    # possible leaf/node size (64Kb).
    echo "hello world" > $SCRATCH_MNT/foo
    for i in `seq 1 3000`; do
        ln $SCRATCH_MNT/foo $SCRATCH_MNT/foo_link_`printf "%04d" $i`
    done

    # Make sure all metadata and data are durably persisted.
    sync

    # Add one more link to the inode that ends up being a btrfs extref and fsync
    # the inode.
    ln $SCRATCH_MNT/foo $SCRATCH_MNT/foo_link_3001
    $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/foo

    # Simulate a crash/power loss. This makes sure the next mount
    # will see an fsync log and will replay that log.

    _load_flakey_table $FLAKEY_DROP_WRITES
    _unmount_flakey

    _load_flakey_table $FLAKEY_ALLOW_WRITES
    _mount_flakey

    # Now after the fsync log replay btrfs left our inode with a wrong link count N,
    # which was smaller than the correct link count M (N < M).
    # So after removing N hard links, the remaining M - N directory entries were
    # still visible to user space but it was impossible to do anything with them
    # because they pointed to an inode that didn't exist anymore. This resulted in
    # stale file handle errors (-ESTALE) when accessing those dentries for example.
    #
    # So remove all hard links except the first one and then attempt to read the
    # file, to verify we don't get an -ESTALE error when accessing the inodel
    #
    # The btrfs fsck tool also detected the incorrect inode link count and it
    # reported an error message like the following:
    #
    # root 5 inode 257 errors 2001, no inode item, link count wrong
    #   unresolved ref dir 256 index 2978 namelen 13 name foo_link_2976 filetype 1 errors 4, no inode ref
    #
    # The fstests framework automatically calls fsck after a test is run, so we
    # don't need to call fsck explicitly here.

    rm -f $SCRATCH_MNT/foo_link_*
    cat $SCRATCH_MNT/foo

    status=0
    exit

So make sure an fsync always flushes the delayed inode item, so that the
fsync log contains it (needed in order to trigger the link count fixup
code) and fix the extref counting function, which always return -ENOENT
to its caller (and made it assume there were always 0 extrefs).

This issue has been present since the introduction of the extrefs feature
(2012).

A test case for xfstests follows soon.

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:02:04 -08:00
Filipe Manana
d36808e0d4 Btrfs: fix directory inconsistency after fsync log replay
If we have an inode (file) with a link count greater than 1, remove
one of its hard links, fsync the inode, power fail/crash and then
replay the fsync log on the next mount, we end up getting the parent
directory's metadata inconsistent - its i_size still reflects the
deleted hard link and has dangling index entries (with no matching
inode reference entries). This prevents the directory from ever being
deletable, as its i_size can never decrease to BTRFS_EMPTY_DIR_SIZE
even if all of its children inodes are deleted, and the dangling index
entries can never be removed (as they point to an inode that does not
exist anymore).

This is easy to reproduce with the following excerpt from the test case
for xfstests that I just made:

    _scratch_mkfs >> $seqres.full 2>&1

    _init_flakey
    _mount_flakey

    # Create a test file with 2 hard links in the same directory.
    mkdir -p $SCRATCH_MNT/a/b
    echo "hello world" > $SCRATCH_MNT/a/b/foo
    ln $SCRATCH_MNT/a/b/foo $SCRATCH_MNT/a/b/bar

    # Make sure all metadata and data are durably persisted.
    sync

    # Now remove one of the hard links and fsync the inode.
    rm -f $SCRATCH_MNT/a/b/bar
    $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/a/b/foo

    # Simulate a crash/power loss. This makes sure the next mount
    # will see an fsync log and will replay that log.

    _load_flakey_table $FLAKEY_DROP_WRITES
    _unmount_flakey

    _load_flakey_table $FLAKEY_ALLOW_WRITES
    _mount_flakey

    # Remove the last hard link of the file and attempt to remove its parent
    # directory - this failed in btrfs because the fsync log and replay code
    # didn't decrement the parent directory's i_size and left dangling directory
    # index entries - this made the btrfs rmdir implementation always fail with
    # the error -ENOTEMPTY.
    #
    # The dangling directory index entries were visible to user space, but it was
    # impossible to do anything on them (unlink, open, read, write, stat, etc)
    # because the inode they pointed to did not exist anymore.
    #
    # The parent directory's metadata inconsistency (stale index entries) was
    # also detected by btrfs' fsck tool, which is run automatically by the fstests
    # framework when the test finishes. The error message reported by fsck was:
    #
    # root 5 inode 259 errors 2001, no inode item, link count wrong
    #   unresolved ref dir 258 index 3 namelen 3 name bar filetype 1 errors 4, no inode ref
    #
    rm -f $SCRATCH_MNT/a/b/*
    rmdir $SCRATCH_MNT/a/b
    rmdir $SCRATCH_MNT/a

To fix this just make sure that after an unlink, if the inode is fsync'ed,
he parent inode is fully logged in the fsync log.

A test case for xfstests follows soon.

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:02:04 -08:00
Filipe Manana
6219872dc6 Btrfs: lookup for block group only if needed when freeing a tree block
Very often our extent buffer's header generation doesn't match the current
transaction's id or it is also referenced by other trees (snapshots), so
we don't need the corresponding block group cache object. Therefore only
search for it if we are going to use it, so we avoid an unnecessary search
in the block groups rbtree (and acquiring and releasing its spinlock).

Freeing a tree block is performed when COWing or deleting a node/leaf,
which implies we are holding the node/leaf's parent node lock, therefore
reducing the amount of time spent when freeing a tree block helps reducing
the amount of time we are holding the parent node's lock.

For example, for a run of xfstests/generic/083, the block group cache
object was needed only 682 times for a total of 226691 calls to free
a tree block.

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:02:04 -08:00
David Sterba
730a78c741 btrfs: remove a no-op unfreeze superbock callback
Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:02:04 -08:00
David Sterba
9ee49a047d btrfs: switch extent_state state to unsigned
Currently there's a 4B hole in the structure between refs and state and there
are only 16 bits used so we can make it unsigned. This will get a better
packing and may save some stack space for local variables.

The size of extent_state gets reduced by 8B and there are usually a lot
of slab objects.

struct extent_state {
	u64                        start;                /*     0     8 */
	u64                        end;                  /*     8     8 */
	struct rb_node             rb_node;              /*    16    24 */
	wait_queue_head_t          wq;                   /*    40    24 */
	/* --- cacheline 1 boundary (64 bytes) --- */
	atomic_t                   refs;                 /*    64     4 */

	/* XXX 4 bytes hole, try to pack */

	long unsigned int          state;                /*    72     8 */
	u64                        private;              /*    80     8 */

	/* size: 88, cachelines: 2, members: 7 */
	/* sum members: 84, holes: 1, sum holes: 4 */
	/* last cacheline: 24 bytes */
};

Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:02:04 -08:00
David Sterba
5efa0490cc btrfs: set proper message level for skinny metadata
This has been confusing people for too long, the message is really just
informative.

CC: <stable@vger.kernel.org> # 3.10+
Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:02:03 -08:00
David Sterba
f0954c6637 btrfs: update message levels after checksum errors
The errors are worth noting and might get missed with INFO level.

Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:02:03 -08:00
David Sterba
aa8ee31209 btrfs: update message levels during failed mount
All error conditions from open_ctree shall be ERR. Warning would
suggest that something's wrong and we can continue.

Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:02:03 -08:00
David Sterba
68b663d13c btrfs: update message levels for errors
Several messages that point to some internal problem, level INFO is
wrong here.

Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:02:03 -08:00
Filipe Manana
a8df6fe666 Btrfs: fix setup_leaf_for_split() to avoid leaf corruption
We were incorrectly detecting when the target key didn't exist anymore
after releasing the path and re-searching the tree. This could make
us split or duplicate (btrfs_split_item() and btrfs_duplicate_item()
are its only callers at the moment) an item when we should not.

For the case of duplicating an item, we currently only duplicate
checksum items (csum tree) and file extent items (fs/subvol trees).
For the checksum items we end up overriding the item completely,
but for file extent items we update only some of their fields in
the copy (done in __btrfs_drop_extents), which means we can end up
having a logical corruption for some values.

Also for the case where we duplicate a file extent item it will make
us produce a leaf with a wrong key order, as btrfs_duplicate_item()
advances us to the next slot and then its caller sets a smaller key
on the new item at that slot (like in __btrfs_drop_extents() e.g.).
Alternatively if the tree search in setup_leaf_for_split() leaves
with path->slots[0] == btrfs_header_nritems(path->nodes[0]), we end
up accessing beyond the leaf's end (when we check if the item's size
has changed) and make our caller insert an item at the invalid slot
btrfs_header_nritems(path->nodes[0]) + 1, causing an invalid memory
access if the leaf is full or nearly full.

This issue has been present since the introduction of this function
in 2009:

    Btrfs: Add btrfs_duplicate_item
    commit ad48fd7546

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 18:02:03 -08:00
Chris Mason
57bbddd7fb Merge branch 'cleanup/blocksize-diet-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus 2015-01-21 17:49:35 -08:00
Chris Mason
d354183488 Merge branch 'fix/find-item-path-leak' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus 2015-01-21 17:45:25 -08:00
Jeff Layton
8116bf4cb6 locks: update comments that refer to inode->i_flock
Signed-off-by: Jeff Layton <jlayton@primarydata.com>
2015-01-21 20:44:01 -05:00
Olof Johansson
7051b6d509 Removes an unused function and the unused
support for CDCE949 clock generator.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iQIcBAABAgAGBQJUvmoxAAoJEGFBu2jqvgRNKmIP+QFtkW4TgW1Sexvm4j07Xzd/
 7moYcD3Nv1xrVUg3hD+oVkR17YeaFb7S1tZ/G64XHV3nXPodwbkF19LnsVRID4Bn
 ohiQJMZ8gKd3ISqp+gsMbZribG6YldlITK9Zqv8FxRc41hZwoAnzdOnDZwpQdz4S
 PwP6pxu9KPEnKTeofDh602YE+M0DcQ1g9P43Gv/5NIGRJxC+usgseZkhkNIQwpGQ
 kh4OcPQDxb+oD/fncVaNj2ipUEAu4/4vUPlxdGKGwnMgZw3e7uuiwB6TOaWEKHk7
 Zdcri+h1eaKVEZTAMw682Zbb0afjjEujeKc85wywALm44BdyB/T8UKFHgIRgyDaC
 aO1us1rh9bNqNEN5+CQVhWoip7u2CgY3Jj58oTqp2aIckPViuggupe3k2wl+w0va
 VQpVkbeR6zztW4YkzufY01iICb5fH0qVareJDXHiNPjxIj5DAVGeQBEKIkmvy0Lv
 hDIwX/0Pv2kAJoZ5uqDI7wiwRFNn/C4cF0Y1NFrg5gQn++QBL5/DWXozRGYI869a
 0h0pVo6OmoXYRvRTCTq9HA+nUzvSJ8ScHSnsy9KPfYC3GHLPZycAyn36AVu68Dlb
 t+h2brpsYA/acavJxyEdUDalU0v/llC9/rSVnnwGOfGzPu6GFSJ7EOsHonX7ydVF
 oniAlKgXc2m3tmDBTS90
 =mzqp
 -----END PGP SIGNATURE-----

Merge tag 'davinci-for-v3.20/cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/cleanup

Merge "DaVinci cleanups for v3.20" from Sekhar Nori:

Removes an unused function and the unused
support for CDCE949 clock generator.

* tag 'davinci-for-v3.20/cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci: Remove CDCE949 driver
  ARM: davinci: serial.c: remove unused serial_read_reg()

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 17:42:31 -08:00
Josef Bacik
ce93ec548c Btrfs: track dirty block groups on their own list
Currently any time we try to update the block groups on disk we will walk _all_
block groups and check for the ->dirty flag to see if it is set.  This function
can get called several times during a commit.  So if you have several terabytes
of data you will be a very sad panda as we will loop through _all_ of the block
groups several times, which makes the commit take a while which slows down the
rest of the file system operations.

This patch introduces a dirty list for the block groups that we get added to
when we dirty the block group for the first time.  Then we simply update any
block groups that have been dirtied since the last time we called
btrfs_write_dirty_block_groups.  This allows us to clean up how we write the
free space cache out so it is much cleaner.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 17:36:52 -08:00
Josef Bacik
e7070be198 Btrfs: change how we track dirty roots
I've been overloading root->dirty_list to keep track of dirty roots and which
roots need to have their commit roots switched at transaction commit time.  This
could cause us to lose an update to the root which could corrupt the file
system.  To fix this use a state bit to know if the root is dirty, and if it
isn't set we go ahead and move the root to the dirty list.  This way if we
re-dirty the root after adding it to the switch_commit list we make sure to
update it.  This also makes it so that the extent root is always the last root
on the dirty list to try and keep the amount of churn down at this point in the
commit.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Chris Mason <clm@fb.com>
2015-01-21 17:35:49 -08:00
Kevin Cernekee
79969f6aaf power/reset: brcmstb: Add support for old 65nm chips
The register bit fields are a little different, so add an entry and a
compatible string to accommodate them.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
2015-01-22 02:25:32 +01:00
Kevin Cernekee
bb1de7f61f power/reset: brcmstb: Use the DT "compatible" string to indicate bit positions
Some of the older chips used different bits to arm and trigger the reset.
Add the infrastructure needed to specify this through the "compatible"
string.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
2015-01-22 02:25:32 +01:00
Kevin Cernekee
4f5fd64046 power/reset: brcmstb: Make the driver buildable on MIPS
Now that the driver doesn't use any ARM-specific headers, it is safe
to build on MIPS or with COMPILE_TEST.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
2015-01-22 02:25:31 +01:00
Olof Johansson
f50f7070e5 Third Round of Renesas ARM Based SoC Updates for v3.20
* Special-case PM domains with memory-controllers
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUvaaiAAoJENfPZGlqN0++QaYP/2/YzRayAVH0+TRiP9x0e2Yv
 Y/aeJHs42t1IArmwHvZvnEZp4wTmR3MlIkDXbdAjQp5EOr9AkVbe5HtC2EWQuOz6
 QJSAXtbrOe0K1m/1P0Yoxd8b2I3aO90jS7ajcyp2fZHTdkjcCQhVoOz1UXoYjcDX
 w5Hih6hZ56MU8zZFyjscPBqS8jx+pdP5DFxqBfI9R1A3DBHDzwbMW35ohLOma0q/
 bAxq3xn1aK8JelfDuY7ZSqjKNujgbG9wfAwioY7tQvHf7vt+ETU/QYf2qUh9fFGS
 gT7oLeVFsG7SA5NmV35d8mKv9fUogeb55ospgOgspyrZhb5oHUX6Nd92nWtAfUr2
 OgB2FNaVm4Tu1XRkFRV9SQqJOOmJI3r575RkrT+zL5wPlqG2BNWiqEyTZ3gUWquJ
 0xX5HMV/t12W2ydnze0WjdYW1DIemrvP4XH1ypdxIRjRQ85LEcnWU6mVjAkgd23W
 9rbpNGRB/2IZJSnVZMzGj1VgX4wMmDfc4E9avz/dONFVtPcHnLyjSmXhaS0EVRze
 0Xy8+YZNjtpxSHJqL7yQI3APVga01ysFK41k/U64OJ56HqpGIXhZ/OyhubXKOHC9
 bIryBNyeAoelIgOe5RQB6bReyOqMzDOSqu9bKOP2oWl/7E+kaVAG/66HwrLHw1D7
 ZURLMt/7zNI5p/ihRhtm
 =WXMq
 -----END PGP SIGNATURE-----

Merge tag 'renesas-soc3-for-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Merge "Third Round of Renesas ARM Based SoC Updates for v3.20" from Simon
Horman:

* Special-case PM domains with memory-controllers

* tag 'renesas-soc3-for-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: R-Mobile: Special-case PM domains with memory-controllers
  ARM: shmobile: R-Mobile: Generalize adding/looking up special PM domains
  ARM: shmobile: R-Mobile: Consolidate rmobile_pd_suspend_*()

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 17:19:05 -08:00
Olof Johansson
604beee864 Second Round of Renesas ARM Based SoC Fixes for v3.19
* Instantiate GIC from C board code in legacy builds on r8a7778 and r8a7779
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUvax/AAoJENfPZGlqN0++7d4P/ic/OC82lPZuhmqCzdE03ptb
 8wvQNiQdHHA1q1hVZPC4cVGDqIymv9Si5q8AliPT5hqT2iSZIUjlTPe4WO350zSl
 qZZoAM4Qk6DzxFNw6I/+j7HcR9NEzCBpfCEkNH7peXzmrlGnAdBPKY0Lw9wf47a/
 uh4xwaKsi7583AN2m1NB9jYESUNXyP/lWEsA+goUqIZTudJLpcvML6y96nHJ9JEv
 5MXFAwVVDJ+huz6Q8hG3ImviUihiIWX25oQ2pmhFczPIf+RDHWDMhQd5Xp/5VBVn
 +3ckUFjXgzhYp5BvPvFhrU46nHolGALDbEIOGgMZwM8GRIA9ffAttK3j4Du1ixa3
 XDrNCbfOCeXfRAr+HcTHdwUtKcJxVz9oVZmlOMzc6yZfrAR0Y5dz3M8iUa2tqFqK
 +DUGstqm26rSwDVGkY7vElRz5nnQhb0/yWpUrO2Augsh04e28V5SkFiIHRFWJ/uT
 53h8qbqyDChw9ZVqg0Na01N0aVRa5a1XpYqtAEs+ta+y3/A35NVBToXhVh3aOQUt
 qAdFrwykyR32bMR0vUg8XVLm2rcaV87D6MDKGElKlkTxPoDK9+RPzfiu0sK4fmfV
 TULb9izepRRfJLDWTeDJm3uxbt1qaOVc1ry24R4HvDsC48BmfuZEVedIn9+Mp+SW
 xhrHiW1bUa3NL/p2BuPX
 =Mb4f
 -----END PGP SIGNATURE-----

Merge tag 'renesas-soc-fixes2-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes

Merge "Second Round of Renesas ARM Based SoC Fixes for v3.19" from Simon
Horman:

* Instantiate GIC from C board code in legacy builds on r8a7778 and r8a7779

* tag 'renesas-soc-fixes2-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: r8a7779: Instantiate GIC from C board code in legacy builds
  ARM: shmobile: r8a7778: Instantiate GIC from C board code in legacy builds

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 17:15:49 -08:00
Olof Johansson
0786d9c5b3 Qualcomm ARM Based Device Tree Updates for v3.20
* Correct IPQ8064 tlmm interrupt
 * Add Support for SD Card Detect for ifc6410 board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 Comment: GPGTools - https://gpgtools.org
 
 iQIcBAABCgAGBQJUvUkVAAoJEF9hYXeAcXzBLeIQAKGU6U1g7I1l9ksiRBqL7iFV
 fRqeE3MQ8zSmL2j4WmgpnxYQ+JtNWvE/bmJPnoXRLoyjgwfBathjpQ2xTrbHWPAC
 lfRNrh/tRTzfsUqDhz9ra8eI/eq/u4ui2tdPBkEttQtIiERcUrJj0bz6edo4Qfbk
 XCGH3IwN6/gthR2gaNvaZZQqXeYtVZix7jmdDJ4zkpcAcKK+LmWJebi3CzlheUDp
 KOXUSB7nIVUwz1z2hk/eAhReHEghZ9KMJlV1U/g9MqmNJAl4+OiOjYAuGL9/bSCP
 O5uXq7ehpE2XIFDXSnyKXZUrSYEBAyaVlk6bMjjO4BfKJOLVE10A69zF7OsHgHgg
 rdYnczApGQ+ezq9Fm1L6tEH7FeTCs81OvASLnyWTOiGiPs4P4eDq3fCAvGwmPkfp
 5V0q2MGbKuxhftTnJbVklDrWF/4sbtc1eW+YR9H5tBOr9u6uNZOTmIzJS4zS5xo+
 jgzQLV+xqUwyNs7qFltFEEwBT8qtpWLzaPMV8apWmx2o6RQ3uCfxHmtCcJkuLtHe
 I9J4CG8qj1s6RX2cf7IHPuc5fRTae0+zQ2dmfti55hrglSkiYA4mBFrluvHveJmL
 ShyCXc1ObWT3FrkarOmC3orrpQONgLvAIYrAbbwmKsqNXQOzYXCBg+XGx422/+Fw
 EXwodQD2Ll3TqgyFxc7Y
 =n1nr
 -----END PGP SIGNATURE-----

Merge tag 'qcom-dt-for-3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/dt

Merge "qcom DT changes for v3.20" from Kumar Gala:

Qualcomm ARM Based Device Tree Updates for v3.20

* Correct IPQ8064 tlmm interrupt
* Add Support for SD Card Detect for ifc6410 board

* tag 'qcom-dt-for-3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom:
  ARM: dts: qcom: Correct IPQ8064 tlmm interrupt
  ARM: dts: qcom: Add Support for SD Card Detect for ifc6410 board

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 17:03:01 -08:00
Olof Johansson
a71596933c Second Round of Renesas ARM Based SoC Updates for v3.20
* Add DT support for PM domains
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUuIP9AAoJENfPZGlqN0++1YgP/jvxSCgTr9incpvoEeXsG7Pd
 /EK0N15UBfJFlhy5oiTrjyCnrPqfqlT1cz39GTUy6s/4UpgjuXRr8lhbpaJrSH2g
 N62EOv89rAChiGtxHwS4sXPvQPjcOIeQEsaq1C9W3IBx88bKpUQU9nbJtbuCbwUX
 eSmsk9mJH+mZapNd+xo7Ksnq7Fjovx/ja+ZNu+1V8IIXOXKnnuv7SiV1ATU9pE+a
 Bkrgjjw7zLof78xbtx2FInWj6vLGayqu3vAWt0zncXZBdoOuigavUjY275XYZ9eK
 zdZwBW/UFecsopVDw653OnRAewuv+iWGKutJbEgK+Y5uT2wg4Q59/sp8E3fyKDwv
 DNaopIJx9NhVNQZNMTT4/y3cV2xSNZqgBXfYt1EFDu01c1UIOXX+RGmI0RHgGoRL
 eD8DZmT6z0iCF0Fn6rSZouFrUqghnUXWtrm4IkzNKTpsSoB+o5FfwG6b/wF0JHfw
 til1Tx//lAChLMbUpNSIG88ng/4yF+UugRK0xoUVGyCMXLQaXhPRCd9EUb0rr5aN
 Ac9rRrqU4anQsTSQewUkT7hyuBUfZSRZBk6eZ5ZBR+JvPZl637vUPHdfJauBr2/h
 zv4uFjHdSUgoJCSVz35t65dYtDIvwKd9CcoCcuw+piYvq5K5ZmaSDnWl0f2YemdC
 D38+hZiXwERwd+Vtad1N
 =MA/A
 -----END PGP SIGNATURE-----

Merge tag 'renesas-soc2-for-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Merge "Second Round of Renesas ARM Based SoC Updates for v3.20" from Simon
Horman:

* Add DT support for PM domains

* tag 'renesas-soc2-for-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: R-Mobile: Add DT support for PM domains
  ARM: shmobile: R-Mobile: Store SYSC base address in rmobile_pm_domain
  ARM: shmobile: R-Mobile: Use generic_pm_domain.attach_dev() for pm_clk setup

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 17:02:21 -08:00
Olof Johansson
e42da8a146 Second Round of Renesas ARM Based SoC DT Updates for v3.20
* Support Renesas memory controllers
 * Add SRC interrupt number on r8a779~ and r8a7791 SoCs
 * Fix MSTP8 input clocks on r8a7791 SoC
 * Add PM domain support to r8a7740
 * Add DT bindings for the R-Mobile System Controller
 * Use Add sh73a0-specific FSI2 compatible property
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUuIxcAAoJENfPZGlqN0++8e0P/jWtO7tWT3p/ToEvUrVNWMI+
 f3yztJa2dgLocJlRMfxMkmNUKGAGIa2B6emfYwBAXxRXEnXt4JPcjCkdiOBD+Ivm
 +sW9MxBWGKNu70dh8+iw4gif1Ii0Xf95t5RFs3MWuCjg4/94X6cafUFa9+plTHzt
 ENNlDunuyJzO/dUd52nC2cHlpRNHpQtmMm56KvEJwZdy/NvH3XJLEXNEtJFcIEqp
 lRzJeMPN+7iFDpZz3LHn4fMFJG1B+fQJcA1qTFKU+BWP15Sh7xzJJP2UJNT+jL2a
 5sHcxWPmY0vhD8iZKqE6Cuk34SaToGBa/yGHIXKUx6jzU2hYEL7qhhCxkaqkt8Hc
 l+zlZ4WLCKXGdJ9jbq2rpRj5SylJixbF7wN/ojqiUfnMcy5B6+gJd6nsba4h6MUj
 OkDwmvcWMNGc5EXuVfsVbvM7Ue2MUQLbvzyrkxse4vEZOsNMiAmdsy165TD5tTKL
 fd3427ALhJV6Wjcym3VCj/2yAvjz8QhgKYmxHdohu0hO0fQ3bUpjOE8OMq4qdR45
 SWeyzsih9m7QPXM4Mik3iPbooXs4J31qnwfHgCPCvWRpG8o8BIl2iTl8X49Wa5mZ
 dS30WxMluvhxWWBnoUAL1TOnRnDcb3hoZ59fMVA389k6BZvVOZquas5ShuugKm3D
 OSiCOqapvBRGLpSVhp2O
 =wr62
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dt2-for-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt

Merge "Second Round of Renesas ARM Based SoC DT Updates for v3.20" from Simon
Horman:

* Support Renesas memory controllers
* Add SRC interrupt number on r8a779~ and r8a7791 SoCs
* Fix MSTP8 input clocks on r8a7791 SoC
* Add PM domain support to r8a7740
* Add DT bindings for the R-Mobile System Controller
* Use Add sh73a0-specific FSI2 compatible property

* tag 'renesas-dt2-for-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  PM / Domains: R-Mobile SYSC: Document SH-Mobile AG5 (sh73a0) binding
  ARM: shmobile: sh73a0 dtsi: Add memory-controller nodes
  ARM: shmobile: r8a7740 dtsi: Add memory-controller node
  ARM: shmobile: r8a73a4 dtsi: Add memory-controller nodes
  ARM: shmobile: Add DT bindings for Renesas memory controllers
  ARM: shmobile: r8a7791: add SRC interrupt number on DTSI
  ARM: shmobile: r8a7790: add SRC interrupt number on DTSI
  ARM: shmobile: r8a7791: fix MSTP8 input clocks
  ARM: shmobile: r8a7740 dtsi: Add PM domain support
  PM / Domains: Add DT bindings for the R-Mobile System Controller
  ARM: shmobile: sh73a0 dtsi: Add SoC-specific FSI2 compatible property

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 17:00:47 -08:00
Tony Lindgren
20d9448a59 ARM: OMAP2+: hwmod: first set of patches for v3.20
First set of OMAP2+ hwmod patches for Linux v3.20.  These are mostly
 fixes for warnings, although there's one DRA7xx patch that fixes
 CONFIG_DEBUG_LL for AM572x/DRA7xx SoCs that use UART3 for console,
 such as the BeagleBoard-X15.
 
 These patches entered Linux-next starting with the next-20150121 tag.
 
 Basic build, boot, and PM test results can be found here:
 
 http://www.pwsan.com/omap/testlogs/omap-hwmod-a-for-v3.20/20150121142621/
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUwDfAAAoJEMePsQ0LvSpLrdMP/3pVEhLffTOlIv9e1GizIier
 r0BrT/A4hv46OWBKiHEnhdnds2UWv4TamHxNxFv4I4k9hr2p2xkcafTkcNOZJGiP
 +ORy4GztzY3ECow+EJoMayE3AXqQzflr8fqWt6J8GxV3ipw1F9gPidJa52LP67OJ
 3Fv4uLtiZgTQQ2TEEOkX3NaiJGcj8KyExiVHB0SZ8WvDyx8E/sFoVkq8BSI7xo0F
 TJP5Yg8BjLeeVmC0omXMpugvOv2P+WCZyvLTiYjddcru5A/rsblcct8ziX9c7KOS
 w8h0ze+AHYgp/BCkHfSD9bszCcwtSJhTsbBDco2ke+oHahTCys1s2QHl0KWwINjh
 R0IqRxSjPYHR5Fm3YckqyB90FYMcNjJLazk7GelVPb+JR9HbqZNf1pKE3TAoJWcC
 f+QpU/DaVL7zuOZAVrBym1lVcV+dF7yJjSvNSMtS9Ckznk7ViueQ4EJyYKko1N+B
 44kiz37/An94S4XZ+5GrrGE8K5dVBaMx1H9KYWcQqi4jZn4pEbxMe/fF2dq0GEHA
 qwO9ar0dXvmGSTONv2/QaaJoQb+vyLuoN1GKyk6AULKc6YCeNHhlGPMVFWmunWkF
 v1LiqOaY0sZC9++4MkTnoWt6oEmVIlqNVDTgsYORSgFkc69Hws6anA0r7qNGyX0x
 Z1ptjTIjYgApxTp+A7Xx
 =Hn9I
 -----END PGP SIGNATURE-----

Merge tag 'for-v3.20/omap-hwmod-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v3.20/fixes-not-urgent

ARM: OMAP2+: hwmod: first set of patches for v3.20

First set of OMAP2+ hwmod patches for Linux v3.20.  These are mostly
fixes for warnings, although there's one DRA7xx patch that fixes
CONFIG_DEBUG_LL for AM572x/DRA7xx SoCs that use UART3 for console,
such as the BeagleBoard-X15.

These patches entered Linux-next starting with the next-20150121 tag.

Basic build, boot, and PM test results can be found here:

http://www.pwsan.com/omap/testlogs/omap-hwmod-a-for-v3.20/20150121142621/
2015-01-21 16:52:17 -08:00
Olof Johansson
6937dbffc7 Device tree changes for omaps. Mostly to add support for new
am437x-idk and update am437x-sk boards. Also enabling new
 devices for multiple boards.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUuZwkAAoJEBvUPslcq6VzHkMP/1Q1jQxiwUTpXLDxLZRjIGrh
 g6b3sHoGJT9U0zcRydH6dv/BlYelmu2xUZ0s1Gvz1xjwA00jwPqccgeybul3z+pZ
 bc3CUpRBIOJNR0SD1BxBRs5HsBviEuHlysNOgsGyXyr1S6AtfrA9tkDB4XBw3ukz
 uBmudWhvgHKUzZQfoMJxi2R4aNYUUp5Ibew4m9Hl8I3ftwn1eYQqrSy+zQhq1uXl
 QWw2kixgCDcP/yRPIcKXKz5pbbxiBL2WqVnNxKOuUjOhikV8+79QOpwjQibxKNou
 ID9CWvE9+qGmylhrEforrnVgr73KYcSXsjgLTtzb/3ZV2/OP2rY7oeemOvto9AI5
 N/FRjTeJWk5vdiavu44rT+SwIZE/Uf32rCpQWLdvJRG9B24LtHp9oZohfqyjOF8/
 7IkbrwEE1sxwJXUTkCXKKjTTu1+CQ87426QZErLeLj0kP3DbO87GOoGXC5m8LudO
 CfnuWS9O6FkIga/JXorPvYJkw57SJWtWBgDcnBXnyWx7OVWzHTqAcZuHuQyAd1AP
 AdbB45MjgJIzi7tZ9jV4yGkxfCwst5ZuXUix8Lzy4YdfmctjFgNeqHULtkgSJZCq
 icOHYJakrdtX/miap/op8qov6B/AlUwZid7cd+Vh5jxDvJwSRG7ReEi/1AU3E/h8
 9hAihXZ0Ukt2ED2dpRo9
 =LFft
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v3.20/dt-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt

Merge "omap device tree changes for v3.20" from Tony Lindgren:

Device tree changes for omaps. Mostly to add support for new
am437x-idk and update am437x-sk boards. Also enabling new
devices for multiple boards.

* tag 'omap-for-v3.20/dt-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (21 commits)
  ARM: dts: omap3-gta04: Add handling for tv output
  ARM: dts: cm-t3x: add NAND support
  ARM: dts: am57xx-beagle-x15: Add GPIO controlled fan node
  ARM: dts: am437x-idk: add gpio-based power key
  ARM: dts: N950/N9: add twl_power
  ARM: dts: am437x-sk: add power button binding
  ARM: dts: add support for AM437x IDK
  ARM: dts: am437x-gp-evm: add VPFE device tree data
  ARM: dts: am437x-sk-evm: add VPFE device tree data
  ARM: dts: am43x-epos-evm: add VPFE device tree data
  ARM: dts: am4372: add VPFE DT node entries
  ARM: dts: DRA7X: drop id property in pcie_phy
  ARM: dts: omap3-n900: cleanup english
  ARM: dts: am57xx-beagle-x15: Add dual ethernet
  ARM: dts: am437x-sk: remove DSS pulls
  ARM: dts: am437x-sk: remove internal i2c pullups
  ARM: dts: am437x-sk: add explicit pinmux for both USB instances
  ARM: dts: am437x-sk: remove ethernet pulls
  ARM: dts: am437x-sk: add explicit MMC0 pinmux
  ARM: dts: am437x-sk: remove internal pulls from QSPI
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 16:51:01 -08:00
Olof Johansson
074450e42f Clean-up for omaps to remove dead code found with cppcheck after
we've made several SoCs to boot in device tree only mode.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUuZsuAAoJEBvUPslcq6Vz2egP/0Ms8650abNeSvKycfuYzUrf
 +iVpCPaMr2IooMvtBc4L6xsKZjm7KD+dZAoRokpHQYbmkv22N3bpM8L9rWNTQAkh
 ouwjSdQs8bla8IB9WjVDvb6f5R52rkEvs13LxVm3AgvXWI4VG2fDXF5ETuyerFl+
 BUR8WExDyqGST4GK0nCt5+/oyPnHTqdnYLrLOcMNwCHN4ZOSKMkLPmGYeFGDc3az
 v/22cQa8dJB35kYEoXjbbdvjGculCu2g/ec+pLPU1rH6v/sslwK36CRPUNh8m8oZ
 cqHrIKlSctrl/P7VvV9N/7nOqKUYBrb8bKmoCs6QAPA/xGWOFH5Q8CCheOF9zV78
 EyOM0ofgN5Qem5odHN4aDV6b/eIuoPwrqfnQbAPN4e1h5SNij4ZiTinUgOxV5vEq
 LI6iajkcdSPpaR/FT1DxOGPkowBW2RLHp6/MtvvUbFv52JNrVXE9zAfsGQevZLto
 hupeoDpjs+Tmez7sRybEkOrsFZDSANTzCZmSIomev2N5aYVp1A6itSJYg1m/x43G
 /emjIfDaVoqwsvUdwSKmDaYsC6FJ1sKTjwK/ZquMXdVG+aNoW0LXXfCfBzUtq8x5
 vLmULfG5YNLJAjGb8M+ALNBv0n7Bxpj8O1rWpbPvA6RM3T3f8lQuU7lv6xObKSDf
 39ztgfT3BtRikXr1ctRL
 =udgd
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v3.20/cleanup-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup

Merge "omap clean-up for v3.20" from Tony Lindgren:

Clean-up for omaps to remove dead code found with cppcheck after
we've made several SoCs to boot in device tree only mode.

* tag 'omap-for-v3.20/cleanup-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Remove unused ti81xx platform init code
  ARM: OMAP3+: PRM: remove prm_get_reset_sources declaration from headers
  ARM: OMAP2: CM: remove unused PLL functions
  ARM: OMAP2: clock: remove unused apll code
  ARM: OMAP: dma.c: Remove unused function
  ARM: OMAP1: timer32k.c: Remove unused function
  ARM: OMAP1: irq.c: Remove unused function
  ARM: OMAP2+: omap-pm-noop.c: Remove some unused functions
  ARM: OMAP2+: voltage: Remove some unused functions
  ARM: OMAP2+: powerdomain.c: Remove some unused functions
  ARM: OMAP2+: omap_hwmod.c: Remove some unused functions
  ARM: OMAP2+: dpll44xx.c: Remove unused function
  ARM: OMAP2+: cm33xx.c: Remove some unused functions
  ARM: OMAP2+: clkt2xxx_apll.c: Remove some unused functions

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 16:50:15 -08:00