1. 29 Apr, 2015 4 commits
  2. 17 Apr, 2015 2 commits
  3. 16 Apr, 2015 1 commit
  4. 10 Apr, 2015 3 commits
  5. 09 Apr, 2015 6 commits
  6. 07 Apr, 2015 13 commits
  7. 06 Apr, 2015 7 commits
  8. 05 Apr, 2015 3 commits
    • Viresh Kumar's avatar
      greybus: Add bundle descriptor type · 83a0cb59
      Viresh Kumar authored
      A bundle corresponds to a device and a greybus driver binds to it. This patch
      adds a type and descriptor for bundle.
      
      This also shuffles the values of 'enum greybus_descriptor_type' to align
      them with Greybus Specifications.
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
      83a0cb59
    • Viresh Kumar's avatar
      greybus: interface: Fetch interface id instead of module id during setup · c9d9d0d4
      Viresh Kumar authored
      There can be more than one interface on a module and we need to know the
      interface for which the event has occurred.
      
      But at the same time we may not need the module id at all. During initial phase
      when AP is probed, the AP will receive the unique Endo id which shall be enough
      to draw relationships between interface and module ids.
      
      Code for that isn't available today and so lets create another routine to get
      module id (which needs to be fixed separately), which will simply return
      interface id passed to it.
      
      Now that we have interface id, update rest of the code to use it.
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
      c9d9d0d4
    • Viresh Kumar's avatar
      greybus: Unregister devices to get them freed · 2352a732
      Viresh Kumar authored
      Devices registered with the device-core needs to be freed by calling
      device_unregister(). For module we are calling just put_device() and for
      bundle, connection and interface we are calling device_del().
      
      All of these are incomplete and so none of them get freed, i.e. the
      .release() routine is never called for their devices.
      
      Module being a special case that it needs to maintain a refcount or a
      list of interfaces to trace its usage count. I have chosen refcount.
      
      And so once the refcount is zero, we can Unregister the device and
      module will get free as well.
      
      Because of this bug in freeing devices, their sysfs directories were not
      getting removed properly and after a manifest is parsed with the help of
      gbsim, removing modules was creating problems. The sysfs directory
      'greybus' wasn't getting removed. And inserting the modules again
      resulted in warnings and insmod failure.
      
      WARNING: CPU: 3 PID: 4277 at
      /build/buildd/linux-3.13.0/fs/sysfs/dir.c:486
      sysfs_warn_dup+0x86/0xa0()
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
      2352a732
  9. 04 Apr, 2015 1 commit