Advertisement
Guest User

Untitled

a guest
Mar 5th, 2014
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.87 KB | None | 0 0
  1. struct phy_setting {
  2.         int speed;
  3.         int setting;
  4. };
  5.  
  6. static const struct phy_setting settings[] = {
  7.         {
  8.                 .speed = 0,
  9.                 .setting = 0,
  10.         },
  11.         {
  12.                 .speed = 0,
  13.                 .setting = 0,
  14.         },
  15. };
  16.  
  17. #define MAX_NUM_SETTINGS        (sizeof(settings) / sizeof(settings[0]))
  18.  
  19. static int phy_find_setting(int i, int speed)
  20. {
  21.         while (i < 2 && (settings[i].speed != speed))
  22.                 i++;
  23.  
  24.         if (i < 2)
  25.                 return 0;
  26.         return 1;
  27. }
  28.  
  29. static int phy_find_valid(int i, int features)
  30. {
  31.         while (i < MAX_NUM_SETTINGS && !(settings[i].setting & features))
  32.                 i++;
  33.  
  34.         return i < MAX_NUM_SETTINGS ? i : 1;
  35. }
  36.  
  37. int phy_sanitize_settings(int speed, int features)
  38. {
  39.         return phy_find_valid(phy_find_setting(0, speed), features);
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement