Browse Source

use rt_list in rtservice.h

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2091 bbd45198-f89e-11dd-88c7-29a3b14d5316
luohui2320@gmail.com 13 years ago
parent
commit
06d45f0c42
3 changed files with 17 additions and 125 deletions
  1. 5 6
      components/drivers/sdio/block_dev.c
  2. 0 106
      components/drivers/sdio/list.h
  3. 12 13
      components/drivers/sdio/sdio.c

+ 5 - 6
components/drivers/sdio/block_dev.c

@@ -14,7 +14,6 @@
 
 
 #include <rtthread.h>
 #include <rtthread.h>
 #include <dfs_fs.h>
 #include <dfs_fs.h>
-#include "list.h"
 
 
 #include "mmcsd_core.h"
 #include "mmcsd_core.h"
 #include "mmcsd_cmd.h"
 #include "mmcsd_cmd.h"
@@ -359,7 +358,7 @@ rt_int32_t rt_mmcsd_blk_probe(struct rt_mmcsd_card *card)
 	
 	
 				rt_device_register(&blk_dev->dev, dname,
 				rt_device_register(&blk_dev->dev, dname,
 					RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_REMOVABLE | RT_DEVICE_FLAG_STANDALONE);
 					RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_REMOVABLE | RT_DEVICE_FLAG_STANDALONE);
-				list_insert_after(&blk_devices, &blk_dev->list);
+				rt_list_insert_after(&blk_devices, &blk_dev->list);
 			}
 			}
 			else
 			else
 			{
 			{
@@ -396,7 +395,7 @@ rt_int32_t rt_mmcsd_blk_probe(struct rt_mmcsd_card *card)
 	
 	
 					rt_device_register(&blk_dev->dev, "sd0",
 					rt_device_register(&blk_dev->dev, "sd0",
 						RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_REMOVABLE | RT_DEVICE_FLAG_STANDALONE);
 						RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_REMOVABLE | RT_DEVICE_FLAG_STANDALONE);
-					list_insert_after(&blk_devices, &blk_dev->list);
+					rt_list_insert_after(&blk_devices, &blk_dev->list);
 	
 	
 					break;
 					break;
 				}
 				}
@@ -428,11 +427,11 @@ void rt_mmcsd_blk_remove(struct rt_mmcsd_card *card)
 	
 	
 	for (l = (&blk_devices)->next; l != &blk_devices; l = l->next)
 	for (l = (&blk_devices)->next; l != &blk_devices; l = l->next)
 	{
 	{
-		blk_dev = (struct mmcsd_blk_device *)list_entry(l, struct mmcsd_blk_device, list);
+		blk_dev = (struct mmcsd_blk_device *)rt_list_entry(l, struct mmcsd_blk_device, list);
 		if (blk_dev->card == card) 
 		if (blk_dev->card == card) 
 		{
 		{
 			rt_device_unregister(&blk_dev->dev);
 			rt_device_unregister(&blk_dev->dev);
-			list_remove(&blk_dev->list);
+			rt_list_remove(&blk_dev->list);
 			rt_free(blk_dev);
 			rt_free(blk_dev);
 		}
 		}
 	}
 	}
@@ -440,5 +439,5 @@ void rt_mmcsd_blk_remove(struct rt_mmcsd_card *card)
 
 
 void rt_mmcsd_blk_init(void)
 void rt_mmcsd_blk_init(void)
 {
 {
-	list_init(&blk_devices);
+	rt_list_init(&blk_devices);
 }
 }

+ 0 - 106
components/drivers/sdio/list.h

@@ -1,106 +0,0 @@
-/*
- * File      : list.h
- * This file is part of RT-Thread RTOS
- * COPYRIGHT (C) 2006 - 2009, RT-Thread Development Team
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rt-thread.org/license/LICENSE
- *
- * Change Logs:
- * Date           Author       Notes
- * 2011-01-15     weety      copy from kservice APIs
- */
-
-#ifndef __RT_LIST_H__
-#define __RT_LIST_H__
-
-#include <rtthread.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @addtogroup list
- */
-/*@{*/
-
-/**
- * @brief initialize a list
- *
- * @param l list to be initialized
- */
-rt_inline void list_init(rt_list_t *l)
-{
-	l->next = l->prev = l;
-}
-
-/**
- * @brief insert a node after a list
- *
- * @param l list to insert it
- * @param n new node to be inserted
- */
-rt_inline void list_insert_after(rt_list_t *l, rt_list_t *n)
-{
-	l->next->prev = n;
-	n->next = l->next;
-
-	l->next = n;
-	n->prev = l;
-}
-
-/**
- * @brief insert a node before a list
- *
- * @param n new node to be inserted
- * @param l list to insert it
- */
-rt_inline void list_insert_before(rt_list_t *l, rt_list_t *n)
-{
-	l->prev->next = n;
-	n->prev = l->prev;
-
-	l->prev = n;
-	n->next = l;
-}
-
-/**
- * @brief remove node from list.
- * @param n the node to remove from the list.
- */
-rt_inline void list_remove(rt_list_t *n)
-{
-	n->next->prev = n->prev;
-	n->prev->next = n->next;
-
-	n->next = n->prev = n;
-}
-
-/**
- * @brief tests whether a list is empty
- * @param l the list to test.
- */
-rt_inline int list_isempty(const rt_list_t *l)
-{
-	return l->next == l;
-}
-
-/**
- * @brief get the struct for this entry
- * @param node the entry point
- * @param type the type of structure
- * @param member the name of list in structure
- */
-#define list_entry(node, type, member) \
-    ((type *)((char *)(node) - (unsigned long)(&((type *)0)->member)))
-
-/*@}*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-

+ 12 - 13
components/drivers/sdio/sdio.c

@@ -14,7 +14,6 @@
 
 
 #include "mmcsd_core.h"
 #include "mmcsd_core.h"
 #include "mmcsd_cmd.h"
 #include "mmcsd_cmd.h"
-#include "list.h"
 
 
 #ifndef RT_SDIO_STACK_SIZE
 #ifndef RT_SDIO_STACK_SIZE
 #define RT_SDIO_STACK_SIZE 512
 #define RT_SDIO_STACK_SIZE 512
@@ -743,16 +742,16 @@ static rt_int32_t sdio_register_card(struct rt_mmcsd_card *card)
 	}
 	}
 
 
 	sc->card = card;
 	sc->card = card;
-	list_insert_after(&sdio_cards, &sc->list);
+	rt_list_insert_after(&sdio_cards, &sc->list);
 
 
-	if (list_isempty(&sdio_drivers))
+	if (rt_list_isempty(&sdio_drivers))
 	{
 	{
 		goto out;
 		goto out;
 	}
 	}
 
 
 	for (l = (&sdio_drivers)->next; l != &sdio_drivers; l = l->next)
 	for (l = (&sdio_drivers)->next; l != &sdio_drivers; l = l->next)
 	{
 	{
-		sd = (struct sdio_driver *)list_entry(l, struct sdio_driver, list);
+		sd = (struct sdio_driver *)rt_list_entry(l, struct sdio_driver, list);
 		if (sdio_match_card(card, sd->drv->id))
 		if (sdio_match_card(card, sd->drv->id))
 		{
 		{
 			sd->drv->probe(card);
 			sd->drv->probe(card);
@@ -1260,7 +1259,7 @@ static struct rt_mmcsd_card *sdio_match_driver(struct rt_sdio_device_id *id)
 
 
 	for (l = (&sdio_cards)->next; l != &sdio_cards; l = l->next)
 	for (l = (&sdio_cards)->next; l != &sdio_cards; l = l->next)
 	{
 	{
-		sc = (struct sdio_card *)list_entry(l, struct sdio_card, list);
+		sc = (struct sdio_card *)rt_list_entry(l, struct sdio_card, list);
 		card = sc->card;
 		card = sc->card;
 
 
 		if (sdio_match_card(card, id))
 		if (sdio_match_card(card, id))
@@ -1284,9 +1283,9 @@ rt_int32_t sdio_register_driver(struct rt_sdio_driver *driver)
 		return -RT_ENOMEM;
 		return -RT_ENOMEM;
 	}
 	}
 
 
-	list_insert_after(&sdio_drivers, &sd->list);
+	rt_list_insert_after(&sdio_drivers, &sd->list);
 
 
-	if (!list_isempty(&sdio_cards))
+	if (!rt_list_isempty(&sdio_cards))
 	{
 	{
 		card = sdio_match_driver(driver->id);
 		card = sdio_match_driver(driver->id);
 		if (card != RT_NULL)
 		if (card != RT_NULL)
@@ -1305,11 +1304,11 @@ rt_int32_t sdio_unregister_driver(struct rt_sdio_driver *driver)
 	struct rt_mmcsd_card *card;
 	struct rt_mmcsd_card *card;
 
 
 
 
-	list_insert_after(&sdio_drivers, &sd->list);
+	rt_list_insert_after(&sdio_drivers, &sd->list);
 
 
 	for (l = (&sdio_drivers)->next; l != &sdio_drivers; l = l->next)
 	for (l = (&sdio_drivers)->next; l != &sdio_drivers; l = l->next)
 	{
 	{
-		sd = (struct sdio_driver *)list_entry(l, struct sdio_driver, list);
+		sd = (struct sdio_driver *)rt_list_entry(l, struct sdio_driver, list);
 		if (sd->drv != driver)
 		if (sd->drv != driver)
 		{
 		{
 			sd = RT_NULL;
 			sd = RT_NULL;
@@ -1322,13 +1321,13 @@ rt_int32_t sdio_unregister_driver(struct rt_sdio_driver *driver)
 		return -RT_ERROR;
 		return -RT_ERROR;
 	}
 	}
 
 
-	if (!list_isempty(&sdio_cards))
+	if (!rt_list_isempty(&sdio_cards))
 	{
 	{
 		card = sdio_match_driver(driver->id);
 		card = sdio_match_driver(driver->id);
 		if (card != RT_NULL)
 		if (card != RT_NULL)
 		{
 		{
 			driver->remove(card);
 			driver->remove(card);
-			list_remove(&sd->list);
+			rt_list_remove(&sd->list);
 			rt_free(sd);
 			rt_free(sd);
 		}
 		}
 	}
 	}
@@ -1339,7 +1338,7 @@ rt_int32_t sdio_unregister_driver(struct rt_sdio_driver *driver)
 
 
 void rt_sdio_init(void)
 void rt_sdio_init(void)
 {
 {
-	list_init(&sdio_cards);
-	list_init(&sdio_drivers);
+	rt_list_init(&sdio_cards);
+	rt_list_init(&sdio_drivers);
 }
 }