sysfs: generalize gb_module_attr() to capture more cases

Most of the attribute routines are created with gb_module_attr() and few are
left out because they weren't printing 32 bit hexadecimal values.

Extend gb_module_attr() to cover more cases.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
module: free resources properly on failures

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>