output.c 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * Copyright (C) 2012 Texas Instruments Ltd
  3. * Author: Archit Taneja <archit@ti.com>
  4. *
  5. * This program is free software; you can redistribute it and/or modify it
  6. * under the terms of the GNU General Public License version 2 as published by
  7. * the Free Software Foundation.
  8. *
  9. * This program is distributed in the hope that it will be useful, but WITHOUT
  10. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11. * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  12. * more details.
  13. *
  14. * You should have received a copy of the GNU General Public License along with
  15. * this program. If not, see <http://www.gnu.org/licenses/>.
  16. */
  17. #include <linux/kernel.h>
  18. #include <linux/platform_device.h>
  19. #include <linux/slab.h>
  20. #include <video/omapdss.h>
  21. #include "dss.h"
  22. static LIST_HEAD(output_list);
  23. void dss_register_output(struct omap_dss_output *out)
  24. {
  25. list_add_tail(&out->list, &output_list);
  26. }
  27. void dss_unregister_output(struct omap_dss_output *out)
  28. {
  29. list_del(&out->list);
  30. }
  31. struct omap_dss_output *omap_dss_get_output(enum omap_dss_output_id id)
  32. {
  33. struct omap_dss_output *out;
  34. list_for_each_entry(out, &output_list, list) {
  35. if (out->id == id)
  36. return out;
  37. }
  38. return NULL;
  39. }