initial check-in of kp49 work (up to commit date)
[kernel-bfs] / kernel-bfs-2.6.28 / debian / patches / fmtx_lock_power.diff
diff --git a/kernel-bfs-2.6.28/debian/patches/fmtx_lock_power.diff b/kernel-bfs-2.6.28/debian/patches/fmtx_lock_power.diff
new file mode 100644 (file)
index 0000000..19d893c
--- /dev/null
@@ -0,0 +1,80 @@
+---
+ drivers/media/radio/radio-si4713.c |   58 +------------------------------------
+ 1 files changed, 3 insertions(+), 55 deletions(-)
+
+Index: kernel-power-2.6.28/drivers/media/radio/radio-si4713.c
+===================================================================
+--- kernel-power-2.6.28.orig/drivers/media/radio/radio-si4713.c
++++ kernel-power-2.6.28/drivers/media/radio/radio-si4713.c
+@@ -200,8 +200,8 @@
+       sscanf(buf, "%d", &l);
+-//    if (l != 0)
+-//            config_locked = 1;
++      if (l != 0)
++              config_locked = 1;
+       return count;
+ }
+@@ -468,59 +468,7 @@
+       if (cmd != LOCK_LOW_POWER && cmd != RELEASE_LOW_POWER)
+               return video_ioctl2(inode, file, cmd, arg);
+-      pl = si4713_get_power_level(si4713_dev);
+-
+-      if (pl < 0) {
+-              rval = pl;
+-              goto exit;
+-      }
+-
+-      if (copy_from_user(&pow, (void __user *)arg, sizeof(pow))) {
+-              rval = -EFAULT;
+-              goto exit;
+-      }
+-
+-      if (cmd == LOCK_LOW_POWER) {
+-
+-              if (pid_count == APP_MAX_NUM) {
+-                      rval = -EPERM;
+-                      goto exit;
+-              }
+-
+-              if (pid_count == 0) {
+-                      if (pow > pl) {
+-                              rval = -EINVAL;
+-                              goto exit;
+-                      } else {
+-                              /* Set max possible power level */
+-                              max_pl = pl;
+-                              min_pl = pow;
+-                      }
+-              }
+-
+-              rval = register_pid(current->pid);
+-
+-              if (rval)
+-                      goto exit;
+-
+-              /* Lower min power level if asked */
+-              if (pow < min_pl)
+-                      min_pl = pow;
+-              else
+-                      pow = min_pl;
+-
+-      } else { /* RELEASE_LOW_POWER */
+-              rval = unregister_pid(current->pid);
+-
+-              if (rval)
+-                      goto exit;
+-
+-              if (pid_count == 0) {
+-                      if (pow > max_pl)
+-                              pow = max_pl;
+-              }
+-      }
+-      rval = si4713_set_power_level(si4713_dev, pow);
++      rval = 0;
+ exit:
+       return rval;
+ }