pimmgr: initial commit of module shell and utils

pimmgr is part of a refactoring of the interface between VCRTCM and
the PIM modules.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
pimmgr: module initializes and loads

Major data structures in place.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
pimmgr: module mostly complete

Module itself is mostly "complete", but untested. Needs to be
integrated with VCRTCM and at least one PIM for testing.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
vcrtcm: change all functions to use pconid

We now use pconid to identify a pcon rather than the major, minor,
flow triple that was previously used.

This patch is experimental and breaks all current PIMS.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
pimmgr: added calls into vcrtcm

Now that we fixed VCRTCM to use PCON ids, add the function calls.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
drm/pimmgr: fix pimmgr makefiles

Fix pimmgr makefile and add to DRM makefile.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
pimmgr: move pimmgr.h to include/drm/vcrtcm

This file needs to be shared with the rest of the system, so we put
it in include/drm/vcrtcm.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
pimmgr: more implementation

This patch brings us to a basic working state.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
radeon: change to support new pconids

Modify VCRTCM interface to support new pconids though pimmgr.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
udlpim: support new pimmgr interface

Modify udlpim to support new pimmgr interface for creating pcon
instances.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
vcrtcm: added basis for future sysfs interface

We register a class for vcrtcm and provide an interface to access
the class from other modules.

This will grow to actually include the implementation of the sysfs
interface in the future.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
pimmgr: implemented a basic sysfs interface

Provide a sysfs interface to enumerate PIMs and PCONs.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
pimmgr: clean up ioctl prototypes

Remove unused prototype and some comments.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
pimmgr: change ioctl scheme to be more flexible

Change the ioctl scheme to be more flexible and support better error
reporting.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
pimmgr: change pconid structure

Modify pconids to be large numbers for opaqueness.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
pimmgr: add error checking in ioctls

We make an effort to make sure that the parameters passed to ioctls
are valid.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
udlpim: add udlpim_info structs to tail of list

Change list_add to list_add_tail in usb_probe().

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
pimmgr: enhance sysfs interface

Change PCON description attr to be more useful (taking string from PIM driver).
Add PCON localid attr to show PIM name and internal PCON ID.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
udlpim: provide description when creating pcon

Populate new description field in struct pcon_instance_info when
creating a new instance.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>
pimmgr: handle possible failure of vcrtcm_p_del

Don't ignore the return value of vcrtcm_p_del in destroy ioctl.

Add an error to return in this case.

Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com>